ehpor / hcipy

A framework for performing optical propagation simulations, meant for high contrast imaging, in Python.
https://hcipy.org
MIT License
96 stars 31 forks source link

Missing telescope apertures #134

Open syhaffert opened 2 years ago

syhaffert commented 2 years ago

PR #133 adds two more telescope apertures. Now we are only missing a couple more:

Are there anymore apertures that are useful to include?

I propose to use this issue to keep track of the last couple of missing telescope apertures.

ehpor commented 2 years ago

Agreed.

syhaffert commented 2 years ago

The Roman and JWST pupils are defined in the webbPSF package. We could use the same approach as they are doing?

ehpor commented 2 years ago

The Roman and JWST pupils are defined in the webbPSF package. We could use the same approach as they are doing?

They use a low-res FITS file for Roman, distributed with the data package. Instead, I found https://roman.ipac.caltech.edu/sims/Coronagraph_pupil_masks.html. I'll base my geometric model on the latest one by AJ.

For JWST they use a geometric model, but I have to look into how to best transfer all constants over (copying that many values seems bad; I have to see if the xls file that they reference is public), or to do an idealized version, or to make WebPSF a dependency (not preferred right now tbh).

syhaffert commented 2 years ago

Do we want a 'global' dictionary in the realistic aperture file with the definitions of pupil diameter etc..? Some people might not know the actual diameters and it would be good to have a simple dictionary with the general parameters of the pupil.

syhaffert commented 2 years ago

I can add the Keck aperture after the new aperture PRs (#140 and #141) are merged. I found the pupil definition on the Keck AO wiki pages: https://www.oir.caltech.edu/twiki_oir/pub/Keck/NGAO/NotesKeckPSF/KeckPupil_Notes.png

vkooten commented 2 years ago

Here is my Keck aperture and L band coronagraph based on the drawing from the KPIC team. Multiple people have published with this aperture and Sam Ragland has looked at it to confirm it with internal Keck documents.

Sorry my GitHub is a mess and I was building and commissioning a SWHFS for open-loop wavefront sensing. Feel free to copy and paste and add it to HCIPy. I need help getting my GitHub connected correctly to hcipy.

On Aug 16, 2022, at 3:30 PM, Sebastiaan Haffert @.***> wrote:

I can add the Keck aperture after the new aperture PRs (#140 https://github.com/ehpor/hcipy/pull/140 and #141 https://github.com/ehpor/hcipy/pull/141) are merged. I found the pupil definition on the Keck AO wiki pages: https://www.oir.caltech.edu/twiki_oir/pub/Keck/NGAO/NotesKeckPSF/KeckPupil_Notes.png https://www.oir.caltech.edu/twiki_oir/pub/Keck/NGAO/NotesKeckPSF/KeckPupil_Notes.png — Reply to this email directly, view it on GitHub https://github.com/ehpor/hcipy/issues/134#issuecomment-1217235128, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJV7YXJUW3LVI4LCTF2FQK3VZQI63ANCNFSM55M2BBDQ. You are receiving this because you were mentioned.

vkooten commented 2 years ago

In Sept I will finally have time to also add an example to HCIPY of Keck’s Pyramid, SHWFS, and ZWFS all working and a few other functions that will basically allow anyone to simulate the full Keck AO system.

On Aug 16, 2022, at 4:08 PM, Maaike van Kooten @.***> wrote:

Here is my Keck aperture and L band coronagraph based on the drawing from the KPIC team. Multiple people have published with this aperture and Sam Ragland has looked at it to confirm it with internal Keck documents. Sorry my GitHub is a mess and I was building and commissioning a SWHFS for open-loop wavefront sensing. Feel free to copy and paste and add it to HCIPy. I need help getting my GitHub connected correctly to hcipy. > On Aug 16, 2022, at 3:30 PM, Sebastiaan Haffert ***@***.*** ***@***.***>> wrote: > > > I can add the Keck aperture after the new aperture PRs (#140 and #141 ) are merged. I found the pupil definition on the Keck AO wiki pages: https://www.oir.caltech.edu/twiki_oir/pub/Keck/NGAO/NotesKeckPSF/KeckPupil_Notes.png > — > Reply to this email directly, view it on GitHub , or unsubscribe . > You are receiving this because you were mentioned. >
syhaffert commented 2 years ago

I think your attachment did not come through. Is it the ssh key thing that blocks your access?

ehpor commented 2 years ago

Let's do this properly and not rush this. HCIPy will be there once you figured things out with SSH/Github/2FA/SHWFS/crap. You can put in a PR yourself once that's done. That way, you'll get credited properly in Git history.

Let's figure this out offline via email. :)

vkooten commented 2 years ago

I currently create the Keck pupil the same way that the VLT pupil is created. So it gives the user the option to have the diameter normalized or set to the real diameter.

I will look at adding it and pushing it forward this week.

On Aug 2, 2022, at 6:14 PM, Sebastiaan Haffert @.***> wrote:

Do we want a 'global' dictionary in the realistic aperture file with the definitions of pupil diameter etc..? Some people might not know the actual diameters and it would be good to have a simple dictionary with the general parameters of the pupil.

— Reply to this email directly, view it on GitHub https://github.com/ehpor/hcipy/issues/134#issuecomment-1203373256, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJV7YXN3GOYB56PK6YQRFE3VXHBXXANCNFSM55M2BBDQ. You are receiving this because you were mentioned.

abertrou commented 11 hours ago

I'd like to contribute by adding the "EAC 2" type of aperture, which consists of a keystone pupil with a core circular mirror.

I have implemented several functions to generate this telescope aperture, using an approach similar to the on-axis USORT pupil. I have implemented a keystone grid as well. It should enable to perform piston/tip/tilt sensitivity analysis at the segment level (haven't gone so far yet, but planning to do so). The main function currently accepts the following parameters: core_diameter [float], outer_diameter [float], num_rings [int], radial_gap [float], num_wedges [int], spider_width [float] and pointy_top [boolean].

I’m reaching out to discuss how I can contribute and to ensure the code and naming conventions align with hcipy and are user-friendly.