Skip to content

Request for tutorial on integration with HCIPy #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Jashcraf opened this issue Apr 7, 2025 · 2 comments
Closed

Request for tutorial on integration with HCIPy #6

Jashcraf opened this issue Apr 7, 2025 · 2 comments

Comments

@Jashcraf
Copy link

Jashcraf commented Apr 7, 2025

This issue is part of my JOSS review: openjournals/joss-reviews#7917

In the software paper, the following claim is made

‘PyStarshade’ optionally interfaces with HCIPy (Por et al., 2018) to generate telescope apertures and the resulting imaging in a streamlined fashion.

This is an cool feature that is worth highlighting in either the examples or the readthedocs. Could a tutorial be added showing how to use the HCIPy apertures in PyStarshade?

Also, I see that apodization/pupil.py calls the various HCIPy aperture generators:

aperture_funcs = {
'circ': make_circular_aperture,
'ELT': make_elt_aperture,
'GMT': make_gmt_aperture,
'TMT': make_tmt_aperture,
'Hale': make_hale_aperture,
'LUVOIR-A': make_luvoir_a_aperture,
'LUVOIR-B': make_luvoir_b_aperture,
'Magellan': make_magellan_aperture,
'VLT': make_vlt_aperture,
'HiCAT': make_hicat_aperture,
'HabEx': make_habex_aperture,
'HST': make_hst_aperture,
'JWST': make_jwst_aperture,
'Keck': make_keck_aperture,
'hex': custom_hex
}

But I'm not clear on what "the resulting imaging in a streamlined fashion" refers to. Can PyStarshade export simulated images to HCIPy's Wavefront or Field object?

@xiaziyna
Copy link
Owner

Here I am using the sentence: 'PyStarshade’ optionally interfaces with HCIPy (Por et al., 2018) to generate telescope apertures and the resulting imaging in a streamlined fashion.' to mean that PyStarshade will call/load apertures into the starshade simulator without needing to go and download these masks/figure out sampling manually! I can see how this wording implies downstream coronagraph simulation. This is the extent of the integration with HCIPy. I have revised the sentence to omit 'in a streamlined fashion'.

To address a demo of this, as well as Issue #9, I've created a notebook with a simple example - generating a PSF for a 60m starshade, for two different telescope apertures (one showing an supplied npz file mask and the other using hcipy).
https://pystarshade.readthedocs.io/en/latest/content/solar_system.html

@Jashcraf
Copy link
Author

Jashcraf commented May 1, 2025

This is a superb demo!

@Jashcraf Jashcraf closed this as completed May 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants