2017. szeptember 14., csütörtök

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!

2017. július 9., vasárnap

SoCiS - First status report - Xrayvision

In the past two weeks I got to know to SunPy. I learned about the modules (especially about SunPy Map and Sunpy IO) which will be important this summer. Besides that I spent time with understanding some IDL codes what can be used as a model for the first implementation of the proccess.

We have our new repo here: https://github.com/sunpy/xrayvision

At the moment it is empty (besides the module template), but soon this is going to change.

The first update will be a data structure which can represent the visibilities. For more info visit the issue.

Stay tuned!

2017. június 23., péntek

SunPy - X-ray VIsibility Synthesis ImagiNg or Xray-VISION - SoCiS 2017

I am pleased to inform you  this summer I am going to work on to create a library for SunPy which enables to create interpretable maps in cases of when the base lines for synthesis images are not following a regular pattern. This library's focus will be to compensate the effect of such cases.

You can find more details about the topic in this article.

Also the upper link contains the reference for the first algorithm (CLEAN) what I am going to implement. My current status is that playing around with little aspects of this task and I try to come up with a good concept how to actually do it. So I spend most of my time reading about it. And thinking about how to do it in a good way. :)

My little bit "more technical" proposal for this summer can be found here at github.

And at the end, I would like to thank for the SunPy community and ESA that I can participate in this program this summer. I hope my work is going to reach the expectations :)

So keep tuned, my next post will contain more actual details! :D