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:
The clean map what we would like to get:
What I currently get using my implementation:
What I get using my implementation:
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!
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:
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.
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 get using my implementation:
My result |
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
Post a Comment