Skip to main content

SOCIS Status report - What is going on?

There was a big silence from my side regarding the improvements in the past month... Sorry about that, but do not worry, I am summarizing up everything below now: πŸ˜‰

In the official repo you can find right now these two classes:

  • Transform
  • Visibility
Transform's basic purpose to provide a DFT (Discrete Fourier Transformation) and an IDFT (Inverse Discrete Fourier Transformation) method which can be used to create visbility values from intensity maps and in the other way around.

An example for the usage of the DFT method:

Converting an intensity map into visibility values with DFT method

You can find more information about the Transform class on the github wiki of the project.

And now about the Visibility class. During synthesis imaging the data comes from different telescopes with different distance from each other. As a result of this we can create images with the same angular resolution what we would get by using a telescope with the size of what is the distance between our two most distant telescopes.
These telescopes measure the so called visibility values which is a phase and intensity information at the same time. This can be represented by complex values. The Visibility class is able to store the different needed informations and to use this data in various ways.

With it you can create visibility values from intensity maps and from visbility values intensity maps. For details please check the corresponding github wiki page.

And this is the point where CLEAN appears. If your data is not perfect, or if the u, v coordinates do not form a regular grid different artifacts going to appear on the final image. To remove these from the final image I implement HΓΆgbom's CLEAN method. This is based on the assumptation if we convert our visibility values into an intensity map, the brightest pixel will represent an actual point source. Because of that this method builds up a sky map model in an iterative process. Later on this is used to clean the not wanted artifacts from the final image.

I implemented this algorithm in a way but it still needs some debug hours because right now, it does not do what it should 😐  It is working!


Imagine this is the dirty map what should be cleaned:

Dirty map


The clean map what we would like to get:

Clean map

What I currently get using my implementation:

My result


What I get using my implementation:
My result


As it can be seen, only one of the point sources has been found. The most intense one. This is not how it should work because the noise level is neglectable in comparsion with the real features of the image.

Both point sources have been found! πŸ˜ƒ

Besides this I also started to work on to support to use SunPy Maps beside the numpy arrays, to provide support for RHESSI visibilities and to use fits files, but for now I can not show anything from them. You can check out their state on my fork of sunpy/xrayvision.


See you next time!

Comments

Popular posts from this blog

Marble Maps - Find your way and explore the world on Android!

Update 1: Google Play still not has the newest version, but it is incomming in the following days Update 2: There is an open beta version now, you can get it from here from  Google Play . Marble Maps has the following features: Map Marble Maps uses OpenStreetMap 's map Wondering around on the map You can move the map with one finger by dragging the map with it It will increase the zoom if you touch double times fast to the map You can also zoom with two fingers (only supported on multitouch devices) Handling your position You can check your position on the map You can check the distance and direction to your position when your position is not visible You can center the view to your position Routing You can plan routes via interactive placemarks, you have to search for something and after that, you can use the result as a waypoint Also, you can modify the route instead of the interactive waypoints with the route editor which is available from...

It is official, Marble is coming to Android

First, I would like to announce, I have been chosen as a Google Summer of Code student and my task is to provide a working version of Marble on Android at the end of the summer. This is a very important for Marble, because Marble currently only available on Desktop and on same rare mobile platforms (Maemo, MeeGo) but on the most widespread platform (Android), not. It is very sad because it is more and more common in education systems that they use TVs, tablets and smartphones with Android so they can’t use Marble as an educational tool. The supported Android platforms will be Android v2.3.3 (API level 10) and higher, because it will be ported with Qt for Android. The work has been started. Stay tuned...

SOCIS Final Status Report - Cleaning

After a great summer I would like to share with you what I worked on. 😊 But before that I would like to thank everyone who made that possible. Thank you Shane that you was my mentor this summer and guided me through every problem. I definitely learnt a lot and it was fun. πŸ˜ƒ Thanks for the SunPy community taking me in, and for their every help and I also want to thank ESA and Maxime Perrotin who organized this great program! And now, we can check out the results! πŸ˜‰ You can find the documentation in the project wiki   and the theoretical background in my previous posts. Now I want to concentrate on the actual usage of the library in case of an actual problem from A-Z. Lets say that we have a fits file with several RHESSI visibilities and we would like to process it. First we would like to get the xrayvision module (I assuming that SunPy is already installed). To get the module we have to check it out from GitHub: git clone https://github.com/sunpy/xrayvision.git Aft...