Skip to content

Commit

Permalink
more citations
Browse files Browse the repository at this point in the history
  • Loading branch information
benjaminpope committed Jul 22, 2024
1 parent 43c0608 commit 195ff6f
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 26 deletions.
31 changes: 22 additions & 9 deletions joss/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,21 @@ @article{kidger2021equinox
journal={Differentiable Programming workshop at Neural Information Processing Systems 2021}
}

@inproceedings{hcipy,
author = {Por, E.~H. and Haffert, S.~Y. and Radhakrishnan, V.~M. and Doelman, D.~S. and Van Kooten, M. and Bos, S.~P.},
title = "{High Contrast Imaging for Python (HCIPy): an open-source adaptive optics and coronagraph simulator}",
booktitle = {Adaptive Optics Systems VI},
year = 2018,
series = {Proc. {{SPIE}}},
volume = 10703,
doi = {10.1117/12.2314407},
URL = {https://doi.org/10.1117/12.2314407}
@ARTICLE{numpyro,
author = {{Phan}, Du and {Pradhan}, Neeraj and {Jankowiak}, Martin},
title = "{Composable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro}",
journal = {arXiv e-prints},
keywords = {Statistics - Machine Learning, Computer Science - Artificial Intelligence, Computer Science - Machine Learning, Computer Science - Programming Languages, I.2.5, G.3, I.2.5, G.3},
year = 2019,
month = dec,
eid = {arXiv:1912.11554},
pages = {arXiv:1912.11554},
doi = {10.48550/arXiv.1912.11554},
archivePrefix = {arXiv},
eprint = {1912.11554},
primaryClass = {stat.ML},
adsurl = {https://ui.adsabs.harvard.edu/abs/2019arXiv191211554P},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@inproceedings{hcipy,
Expand All @@ -35,6 +41,13 @@ @inproceedings{hcipy
URL = {https://doi.org/10.1117/12.2314407}
}

@software{optax,
title = {The {D}eep{M}ind {JAX} {E}cosystem},
author = {DeepMind and Babuschkin, Igor and Baumli, Kate and Bell, Alison and Bhupatiraju, Surya and Bruce, Jake and Buchlovsky, Peter and Budden, David and Cai, Trevor and Clark, Aidan and Danihelka, Ivo and Dedieu, Antoine and Fantacci, Claudio and Godwin, Jonathan and Jones, Chris and Hemsley, Ross and Hennigan, Tom and Hessel, Matteo and Hou, Shaobo and Kapturowski, Steven and Keck, Thomas and Kemaev, Iurii and King, Michael and Kunesch, Markus and Martens, Lena and Merzic, Hamza and Mikulik, Vladimir and Norman, Tamara and Papamakarios, George and Quan, John and Ring, Roman and Ruiz, Francisco and Sanchez, Alvaro and Sartran, Laurent and Schneider, Rosalia and Sezener, Eren and Spencer, Stephen and Srinivasan, Srivatsan and Stanojevi\'{c}, Milo\v{s} and Stokowiec, Wojciech and Wang, Luyu and Zhou, Guangyao and Viola, Fabio},
url = {http://github.com/google-deepmind},
year = {2020},
}

@article{prysm, doi = {10.21105/joss.01352}, url = {https://doi.org/10.21105/joss.01352}, year = {2019}, publisher = {The Open Journal}, volume = {4}, number = {37}, pages = {1352}, author = {Brandon Dube}, title = {prysm: A Python optics module}, journal = {Journal of Open Source Software} }

@INPROCEEDINGS{poppy,
Expand Down
24 changes: 7 additions & 17 deletions joss/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,39 +36,27 @@ bibliography: paper.bib

# Summary

<!-- why physical optics in astronomy -->
One of the foundational problems in optical astronomy is that of imaging scenes at resolutions close to the diffraction limit of a telescope. One of the most stringent cases for high-dynamic-range, high-resolution imaging is exoplanet direct imaging [@Follette2023], whether with adaptive optics systems on large telescopes on Earth [@Guyon2018], or with space-based imagers such as the James Webb Space Telescope coronagraphs [@Boccaletti2022 ; @Girard2022] and interferometer [@Sivaramakrishnan2023]. In each case, a central issue is in accurately modelling the point spread function (PSF) of the telescope: the diffraction pattern by which light from a point source is spread out over the detector, which is affected by wavelength-scale irregularities at each optical surface the light encounters, and which can drown out the signals of faint planets and circumstellar material.

While there are many data-driven approaches to nonparametrically inferring and subtracting this PSF [@Cantalloube2021], the motivation for our work here is to use principled deterministic physics to model optical systems; to perform high-dimensional inferences from data, jointly about telescopes and the scenes they observe; to train neural networks to model electronics together with optics; and to produce principled, high-dimensional designs for telescope hardware. These problems necessitate a physical optics model which is fast and differentiable.

<!-- what is dLux -->
In this paper we introduce `dLux`[^dlux], an open-source Python package for differentiable physical optics simulation. Leveraging `jax` [@jax] for automatic differentiation and vectorization, it deploys natively on CPU, GPU, and parallelized HPC environments. `dLux` can perform Fourier and Fresnel optical simulations using matrix and FFT based propagation [@Soummer2007], as well as simulate linear and nonlinear detector effects. In published work so far, `dLux` has been used to demonstrate inference of pixel sensitivities jointly with optical aberrations in imaging data [@Desdoigts2023] and to demonstrate principled optimal experimental design of a telescope by direct optimization of the Fisher Information Matrix [@Desdoigts2024].

<!-- more here -->

<!-- something about zodiax? -->

# Statement of need

<!-- describe problem and relevant citations -->
One of the foundational problems in optical astronomy is that of imaging scenes at resolutions close to the diffraction limit of a telescope. One of the most stringent cases for high-dynamic-range, high-resolution imaging is exoplanet direct imaging [@Follette2023], whether with adaptive optics systems on large telescopes on Earth [@Guyon2018], or with space-based imagers such as the James Webb Space Telescope coronagraphs [@Boccaletti2022 ; @Girard2022] and interferometer [@Sivaramakrishnan2023]. In each case, a central issue is in accurately modelling the point spread function (PSF) of the telescope: the diffraction pattern by which light from a point source is spread out over the detector, which is affected by wavelength-scale irregularities at each optical surface the light encounters, and which can drown out the signals of faint planets and circumstellar material.

<!-- describe what has to happen in physical optics etc -->

<!-- alternative packages for astronomy: poppy, prysm, xaosim, hcipy, whatever liaudat has -->
Non-differentiable open-source physical optics packages used in astronomy include `poppy` [@poppy], `prysm` [@prysm]. By
While there are many data-driven approaches to nonparametrically inferring and subtracting this PSF [@Cantalloube2021], the motivation for our work here is to use principled deterministic physics to model optical systems; to perform high-dimensional inferences from data, jointly about telescopes and the scenes they observe; to train neural networks to model electronics together with optics; and to produce principled, high-dimensional designs for telescope hardware. These problems necessitate a physical optics model which is fast and *differentiable*, so as to permit high-dimensional optimization by gradient descent [eg in `optax`; @optax] or sampling with Hamiltonian Monte Carlo or similar gradient-based algorithms [@Betancourt2017].

Differentiable alternatives to `dLux` used in astronomy so far include `WaveDiff` [@Liaudat2023] and recent versions of `hcipy` [@hcipy].
<!-- describe what has to happen in physical optics etc -->
Physical optics is the study of the wave physics of light, and is taken to be separate from geometric optics, which is the approximation treating light as rays. A physical optics model is usually taken to simulate the propagation of light between one or more pupil planes and focal planes by the Fraunhofer or Fresnel approximation, based around Fourier transform calculations. Non-differentiable open-source physical optics packages used in astronomy include `poppy` [@poppy], `prysm` [@prysm]; differentiable alternatives to `dLux` used in astronomy so far include `WaveDiff` [@Liaudat2023] and recent versions of `hcipy` [@hcipy].

<!-- alternative packages outside of astronomy -->
Similar approaches using differentiable optical models have been applied in the `DeepOptics` project [@Sitzmann2018]; `WaveBlocks` [@Page2020] in microscopy; `dO` [@Wang2022] for general cameras; and in `WaveOpticsPropagation.jl` [@Wechsler24]. `dLux` similarly leverages the strengths of differentiable simulation, however a focus on generic physical optics modules enables applications spanning domains and encompasses projects from the design to data processing stages.

<!-- dLux is open source: briefly explain its use -->
We introduce a new open-source physical optics package, `dLux` (named for taking *partial derivatives of light*), written in Python and using `jax`. It inherits an object oriented framework from `equinox` [@kidger2021equinox]
We introduce a new open-source physical optics package, `dLux` (named for taking *partial derivatives of light*), written in Python and using `jax`. It inherits an object oriented framework from `equinox` [@kidger2021equinox], around which we build a thin wrapper `zodiax`[^zodiax] to allow for a more efficient syntax building probabilistic models in `numpyro` [@numpyro].

- class or feature 1
- class or feature 2, etc

<!-- cite Desdoigts papers it has been used in -->

# Documentation & Case Studies
<!-- briefly summarize tutorials -->
Expand All @@ -90,3 +78,5 @@ Figures produced for... are shown in \autoref{fig1}.
<!-- you are only supposed to put refs in the .bib if they are actually used -->

[^dlux]: [https://github.com/louisdesdoigts/dLux](https://github.com/louisdesdoigts/dLux)
[^zodiax]: [https://github.com/louisdesdoigts/zodiax](https://github.com/louisdesdoigts/zodiax)

0 comments on commit 195ff6f

Please sign in to comment.