AOtools / aotools

A useful set of tools for Adaptive Optics in Python
GNU Lesser General Public License v3.0
109 stars 42 forks source link

Simulating turbulence on 2D extended images #55

Open joncox123 opened 4 years ago

joncox123 commented 4 years ago

I would like to simulate the effects of atmospheric turbulence on 2D images, like galaxies or planets, in the focal plane. Have you added support for applying PSF to 2D images? If not, do you have a timeframe for doing so?

Your paper states:

Building on this we will develop methods for applying a PSF to extended images, to allow for the degradation of wide-field images by the effects of atmospheric turbulence.

matthewtownson commented 4 years ago

Hi, it is something we are planning on, but don't have a timeframe yet (but it definitely won't be very soon). I know that the DASP simulation does have this capability currently if you are looking at doing this on a short timescale.

joncox123 commented 4 years ago

@matthewtownson apologies in advance but the open ended question, but if I was to add support for extended images, can you briefly describe what needs to be changed in aotools and soapy? First, is the assumption that the source is a uniform plane wave (point source at infinity) baked in to the code, thus requiring lots of things to be modified? Does anything need to be changed in soapy? Also, does the wavefront reconstruction algorithm need to be modified to deal with extended images?

Perhaps you can give a brief summary of what needs to be done. I'll look at it and see if its something I can do. I'm just trying to scope out this task before attempting it, and to avoid going down blind alleys.

matthewtownson commented 4 years ago

I think that Soapy has most of the tools you would need, but does not put them together in a way that can build extended images.

The line-of-sight module takes care of selecting the correct regions of phase screens for different field directions, but this is used by soapy to select the relevant turbulence for different WFSs observing point sources in an asterism. I think it should be possible to use a similar method to build a grid of directions, which would give you the anisoplanatic turbulence for many different field directions. The main thing that would need to be implemented is gathering all of the integrated turbulence for all of the different field directions together and applying the different turbulence to the corresponding regions extended image.

Depending on how familiar you are with C, the DASP simulation package has this already implemented, and could potentially be used as a template for how to implement the parts which don't exist yet in soapy.

matthewtownson commented 2 years ago

We recently re-visited this and think that a function which takes in a set of PSFs and a "science" image to generate a corrugated image is something that could be included.