You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/paper/paper.bib
+35-27Lines changed: 35 additions & 27 deletions
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ @ARTICLE{sisters:2022
14
14
}
15
15
16
16
@article{scipy,
17
-
title={{SciPy} 1.0: Fundamental algorithms for scientific computing in Python},
17
+
title={{SciPy} 1.0: Fundamental algorithms for scientific computing in {Python}},
18
18
author={Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E and Haberland, Matt and Reddy, Tyler and Cournapeau, David and Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and Bright, Jonathan and others},
19
19
journal={Nature Methods},
20
20
volume={17},
@@ -26,7 +26,7 @@ @article{scipy
26
26
}
27
27
28
28
@article{astropy,
29
-
title={Astropy: A community Python package for astronomy},
29
+
title={Astropy: A community {Python} package for astronomy},
30
30
author={Astropy Collaboration and Robitaille, Thomas P. and Tollerud, Erik J. and Greenfield, Perry and Droettboom, Michael and Bray, Erik and Aldcroft, Tom and Davis, Matt and Ginsburg, Adam and Price-Whelan, Adrian M. and others},
31
31
journal={Astronomy \& Astrophysics},
32
32
volume={558},
@@ -43,21 +43,21 @@ @misc{setuptools
43
43
}
44
44
45
45
@misc{pytest,
46
-
title={pytest: simple powerful testing with Python},
47
-
author={Krekel, Holger and others},
48
-
year={2024},
49
-
note={\url{https://docs.pytest.org}}
46
+
author = {Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and Florian Bruhin},
note = {Version x.y. Contributors include Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin, and others.}
50
51
}
51
52
52
-
@misc{h5py,
53
-
title={{h5py}: HDF5 for Python},
54
-
author={Collette, Andrew and contributors},
55
-
year={2024},
56
-
note={\url{https://www.h5py.org}}
53
+
@Book{h5py,
54
+
keywords = {python, hdf5},
55
+
year = {2013},
56
+
publisher = {O'Reilly},
57
+
title = {Python and HDF5},
58
+
author = {Andrew Collette}
57
59
}
58
60
59
-
60
-
61
61
@INCOLLECTION{direct,
62
62
author = {{Traub}, W.~A. and {Oppenheimer}, B.~R.},
63
63
title = "{Direct Imaging of Exoplanets}",
@@ -87,7 +87,7 @@ @article{subscale
87
87
88
88
@article{special,
89
89
author = {Jonathan W. Arenberg and Anthony D. Harness and Rebecca M. Jensen-Clem},
90
-
title = {{Special Section on Starshades: Overview and a Dialogue}},
90
+
title = {Special Section on Starshades: Overview and a Dialogue},
91
91
volume = {7},
92
92
journal = {Journal of Astronomical Telescopes, Instruments, and Systems},
93
93
number = {2},
@@ -128,8 +128,8 @@ @BOOK{NAP26141
128
128
129
129
@ARTICLE{bluestein,
130
130
author={Bluestein, L.},
131
-
journal={IEEE Transactions on Audio and Electroacoustics},
132
-
title={A linear filtering approach to the computation of discrete Fourier transform},
131
+
journal={IEEE Transactions on Audio and Electroacoustics},
132
+
title={A linear filtering approach to the computation of discrete {Fourier} transform},
133
133
year={1970},
134
134
volume={18},
135
135
number={4},
@@ -171,7 +171,7 @@ @article{mennesson
171
171
172
172
@inproceedings{hwo_ss,
173
173
author = {Stuart Shaklan and Dylan McKeithen and Doug Lisman and Philip Dumont},
174
-
title = {{A starshade for NASA’s habitable worlds observatory concept: exoplanet characterization in the UV}},
174
+
title = {{A starshade for NASA’s Habitable Worlds Observatory concept: exoplanet characterization in the UV}},
175
175
volume = {12680},
176
176
booktitle = {Techniques and Instrumentation for Detection of Exoplanets XI},
177
177
editor = {Garreth J. Ruane},
@@ -245,7 +245,7 @@ @article{harness
245
245
246
246
@INPROCEEDINGS{hcipy,
247
247
author = {{Por}, Emiel H. and {Haffert}, Sebastiaan Y. and {Radhakrishnan}, Vikram M. and {Doelman}, David S. and {van Kooten}, Maaike and {Bos}, Steven P.},
248
-
title = "{High Contrast Imaging for Python (HCIPy): an open-source adaptive optics and coronagraph simulator}",
248
+
title = {{High Contrast Imaging for Python (HCIPy)}: an open-source adaptive optics and coronagraph simulator},
249
249
booktitle = {Adaptive Optics Systems VI},
250
250
year = 2018,
251
251
editor = {{Close}, Laird M. and {Schreiber}, Laura and {Schmidt}, Dirk},
@@ -316,19 +316,27 @@ @software{exovista
316
316
note = {Zenodo archive, version 1.0.0}
317
317
}
318
318
319
-
@software{exosims,
320
-
author = {Savransky, Dmitry and Delacroix, Christian and Garrett, Daniel},
321
-
title = {EXOSIMS: Exoplanet Open-Source Imaging Mission Simulator},
322
-
version = {1.0},
323
-
year = {2019},
324
-
doi = {10.5281/zenodo.3376663},
325
-
url = {https://github.com/dsavransky/EXOSIMS},
326
-
note = {Zenodo archive}
319
+
@ARTICLE{exosims,
320
+
author = {{Savransky}, Dmitry and {Garrett}, Daniel},
321
+
title = "{WFIRST-AFTA coronagraph science yield modeling with EXOSIMS}",
322
+
journal = {Journal of Astronomical Telescopes, Instruments, and Systems},
323
+
keywords = {Astrophysics - Instrumentation and Methods for Astrophysics},
Copy file name to clipboardExpand all lines: docs/paper/paper.md
+9-10Lines changed: 9 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,14 +11,11 @@ authors:
11
11
orcid: 0000-0001-5475-1975
12
12
affiliation: 1
13
13
corresponding: true
14
-
15
14
- name: Athol Kemball
16
15
orcid: 0000-0001-6233-8347
17
16
affiliation: "2, 3"
18
-
19
17
- name: Farzad Kamalabadi
20
18
affiliation: 2
21
-
22
19
affiliations:
23
20
- name: Michigan Institute for Data Science, University of Michigan, USA
24
21
index: 1
@@ -33,26 +30,28 @@ bibliography: paper.bib
33
30
34
31
# Summary
35
32
36
-
A key challenge in detecting exoplanets and characterizing their atmospheres is distinguishing their faint reflected or emitted light from that of their host star. Direct imaging addresses this challenge by suppressing the star's light to reveal the orbiting exoplanet. There are two approaches to direct imaging: internal occulters, called coronagraphs, which use optics within the telescope to block starlight; and external occulters, called starshades, which are petal-shaped masks spanning tens of meters in diameter, flown in tandem with a telescope [@special]. Current direct imaging efforts using ground-based coronagraphs at the Very Large Telescope (VLT) and at the Gemini Observatory have successfully imaged young, massive exoplanets at wide separations [@Follette_2023]. However, observing a faint, Earth-like planet in the habitable zone of a Sun-like star requires extreme starlight suppression to the level of $10^{8}$ - $10^{10}$ star-to-planet flux ratio [@angel].
33
+
A key challenge in detecting exoplanets and characterizing their atmospheres is distinguishing their faint reflected or emitted light from that of their host stars. Direct imaging addresses this challenge by suppressing the star's light to reveal the orbiting exoplanet. There are two approaches to direct imaging: internal occulters, called _coronagraphs_, which use optics within the telescope to block starlight; and external occulters, called _starshades_, which are petal-shaped masks spanning tens of meters in diameter, flown in tandem with a telescope [@special]. Current direct imaging efforts using ground-based coronagraphs at the Very Large Telescope (VLT) and at the Gemini Observatory have successfully imaged young, massive exoplanets at wide separations [@Follette_2023]. However, observing a faint, Earth-like planet in the habitable zone of a Sun-like star requires extreme starlight suppression to the level of $10^{8}$ - $10^{10}$ star-to-planet flux ratio [@angel].
37
34
38
35
Although no starshade has been flown in space yet, subscale starshades have demonstrated $\leq 10^{9}$ starlight suppression at a wavelength of 633 nm in laboratory demonstrations [@subscale], and $\leq 10^{10}$ across the broad wavelength range necessary for detecting biomarkers such as water, oxygen, and methane in computational simulations [@mennesson]. Beyond demonstrating starlight suppression, critical questions remain regarding the properties and orbital configurations of exoplanetary systems that can be observed by starshade missions, as well as optimal instrument designs. `PyStarshade` is a Python toolbox that efficiently performs optical simulations of starshades with exoplanetary scenes to assess the utility of starshades in future direct-imaging missions.
39
36
40
-
Several starshade concepts have been proposed but not yet adopted. These include: a 26-meter-diameter design to rendezvous with the Nancy Grace Roman Space Telescope (scheduled for launch in 2026) [@ngrst_rendezvous]; a 52-meter design as part of the Habex concept [@habex]; a 60-meter starshade operating over visible-to-infrared wavelengths 500–1,000 nm) and a 35-meter UV (250–500 nm) starshade, proposed for the Habitable Worlds Observatory (HWO), a NASA mission is in the early design phase, aiming to find and characterize a handful of Earth-like exoplanets [@NAP26141]. An example use of `PyStarshade` to evaluate the complementary role of a 60-meter HWO starshade [@hwo_ss] paired with two different 6-meter segmented and obscured telescope apertures featuring centimeter-scale details is presented in [@taaki_hwo_sim_2025] where we report $core$ $throughput$ for these apertures. Core throughput is defined as the fraction of exoplanet light recovered and is a key metric that governs the exposure time needed to image an exoplanet and therefore the overall exoplanetary yield of a mission.
37
+
Several starshade concepts have been proposed but not yet adopted. These include: a 26-meter-diameter design to rendezvous with the Nancy Grace Roman Space Telescope [scheduled for launch in 2026, @ngrst_rendezvous]; a 52-meter design as part of the HabEx concept [@habex]; a 60-meter starshade operating over visible-to-infrared wavelengths (500–1,000 nm) and a 35-meter UV (250–500 nm) starshade, proposed for the Habitable Worlds Observatory (HWO), a NASA mission is in the early design phase, aiming to find and characterize a handful of Earth-like exoplanets [@NAP26141]. An example use of `PyStarshade` to evaluate the complementary role of a 60-meter HWO starshade [@hwo_ss] paired with two different 6-meter segmented and obscured telescope apertures featuring centimeter-scale details is presented in @taaki_hwo_sim_2025, where we report _core throughput_ for these apertures. Core throughput is defined as the fraction of exoplanet light recovered and is a key metric that governs the exposure time needed to image an exoplanet and therefore the overall exoplanetary yield of a mission.
41
38
42
39
# Statement of need
43
-
`PyStarshade` provides a toolbox for performing optical simulations from source to focal plane with a configurable starshade telescope design. Complex electric fields are calculated at three planes of propagation: the starshade, the telescope aperture, and the focal plane, using the Fresnel or Fraunhofer diffraction formula where appropriate. First-order imaging characteristics of a starshade can be determined from analytic relations that depend on the size of the starshade, the size of the telescope aperture, the wavelength of the observations, and the flight distance. `PyStarshade` allows for second-order imaging characteristics to be studied, including imaging simulations with a pixelized exoplanetary input scene of integrated flux per pixel and wavelength. It also allows for the study of throughput and post-processing methods with varying starshade masks and telescope aperture masks to study throughput and post-processing methods. An example imaged scene is shown in \autoref{fig:example} at a snapshot in time and wavelength. The scene consists of a planet, a star, and a dust disk. These spectral- and time-dependent scenes were generated with ExoVista [@Stark_2022]. `PyStarshade` is intended to be flexible and efficient in studying exoplanet retrievals and instrument design.
44
40
45
-
{ width=50% }
41
+
`PyStarshade` provides a toolbox for performing optical simulations from source to focal plane with a configurable starshade telescope design. Complex electric fields are calculated at three planes of propagation: the starshade, the telescope aperture, and the focal plane, using the Fresnel or Fraunhofer diffraction formula where appropriate. First-order imaging characteristics of a starshade can be determined from analytic relations that depend on the size of the starshade, the size of the telescope aperture, the wavelength of the observations, and the flight distance. `PyStarshade` allows for second-order imaging characteristics to be studied, including imaging simulations with a pixelized exoplanetary input scene of integrated flux per pixel and wavelength. It also allows for the study of throughput and post-processing methods with varying starshade masks and telescope aperture masks to study throughput and post-processing methods. An example imaged scene is shown in \autoref{fig:example} at a snapshot in time and wavelength. The scene consists of a planet, a star, and a dust disk. These spectral- and time-dependent scenes were generated with ExoVista [@Stark_2022]. `PyStarshade` is intended to be flexible and efficient in studying exoplanet retrievals and instrument design.
46
42
47
-
Fourier optics simulations of starshades and telescope apertures require fine spatial pixel scales to accurately model diffraction without aliasing errors across multiple stages of propagation. Traditional fast Fourier transforms (FFTs) require large zero-padding factors to accomplish this, increasing computational cost. `PyStarshade` implements the Bluestein FFT [@bluestein] (related to the chirp Z-transform) to compute optical fields at arbitrary spatial scales without zero-padding, thereby achieving greater efficiency than the FFTs or discrete Fourier transforms (DFTs). `PyStarshade` implements the Bluestein FFT using `NumPy`[@numpy] FFTs and array operations.
43
+
{ width=50% }
44
+
45
+
Fourier optics simulations of starshades and telescope apertures require fine spatial pixel scales to accurately model diffraction without aliasing errors across multiple stages of propagation. Traditional fast Fourier transforms (FFTs) require large zero-padding factors to accomplish this, increasing computational cost. `PyStarshade` implements the Bluestein FFT [@bluestein, related to the chirp Z-transform] to compute optical fields at arbitrary spatial scales without zero-padding, thereby achieving greater efficiency than the FFTs or discrete Fourier transforms (DFTs). `PyStarshade` implements the Bluestein FFT using NumPy [@numpy] FFTs and array operations.
48
46
49
47
Furthermore, `PyStarshade` implements a novel technique to chunk Bluestein FFT calculations, which mitigates memory bottlenecks. A set of unit tests is provided to validate the Fourier diffraction tools. `PyStarshade` precomputes fields, point spread functions, and throughput grids for different stages of the optical propagation chain. This allows flexibility in modifying instrument parameters or telescope aperture masks. `PyStarshade` optionally interfaces with HCIPy [@hcipy] to generate telescope apertures and the resulting imaging.
50
48
51
49
# Related software
52
-
The Starshade Imaging Simulation Toolkit for Exoplanet Reconnaissance (`SISTER`) [@sisters:2022], implemented in MATLAB, performs detailed, end-to-end simulations of starshade imaging, further including instrument noise sources such as solar glint, and tools for modeling an exoplanetary system and background objects. The optical simulation pipeline of `PyStarshade` follows a similar approach to that of `SISTER`, employing a precomputed PSF basis for image simulation. However, SISTER computes diffraction from the starshade to the telescope aperture using the boundary diffraction wave method [@cady], performing a 1D integral along the starshade's edge, followed by a DFT to obtain the final PSF basis. Several other libraries focus exclusively on calculating the starshade diffraction incident on the telescope aperture. One such library is `fresnaq`, a MATLAB library that efficiently computes diffraction by a starshade via the non-uniform FFT [@barnett]. `diffraq` [@diffraq] is a Python implementation of `freqnaq`. This library also provides an implementation of the boundary diffraction wave method and tools to generate starshade masks [@harness]. The starshade masks used in `PyStarshade` are obtained from `SISTER` or were generated with `diffraq`. Outside of imaging simulations, the Exoplanet Open-Source Imaging Mission Simulator (`EXOSIMS`) [@exosims] provides methods for orbital simulation of starshades and fuel consumption calculations.
50
+
51
+
The Starshade Imaging Simulation Toolkit for Exoplanet Reconnaissance [`SISTER`, @sisters:2022], implemented in MATLAB, performs detailed, end-to-end simulations of starshade imaging, further including instrument noise sources such as solar glint, and tools for modeling an exoplanetary system and background objects. The optical simulation pipeline of `PyStarshade` follows a similar approach to that of `SISTER`, employing a precomputed point spread function (PSF) basis for image simulation. However, SISTER computes diffraction from the starshade to the telescope aperture using the boundary diffraction wave method [@cady], performing a 1D integral along the starshade's edge, followed by a DFT to obtain the final PSF basis. Several other libraries focus exclusively on calculating the starshade diffraction incident on the telescope aperture. One such library is `fresnaq`, a MATLAB library that efficiently computes diffraction by a starshade via the non-uniform FFT [@barnett]. `diffraq` [@diffraq] is a Python implementation of `freqnaq`. This library also provides an implementation of the boundary diffraction wave method and tools to generate starshade masks [@harness]. The starshade masks used in `PyStarshade` are obtained from `SISTER` or were generated with `diffraq`. Outside of imaging simulations, the Exoplanet Open-Source Imaging Mission Simulator [`EXOSIMS`, @exosims] provides methods for orbital simulation of starshades and fuel consumption calculations.
53
52
54
53
# Acknowledgements
55
54
56
-
This project is supported by Schmidt Sciences, LLC. We acknowledge the use of the following software libraries in our work: NumPy [@numpy], SciPy [@scipy], Astropy [@astropy], setuptools [@setuptools], h5py [@h5py], pytest [@pytest] and HCIPy [@hcipy].
55
+
This project is supported by Schmidt Sciences, LLC. We acknowledge the use of the following software libraries in our work: NumPy [@numpy], SciPy [@scipy], Astropy [@astropy], setuptools [@setuptools], h5py [@h5py], pytest [@pytest] and HCIPy [@hcipy].
0 commit comments