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 0eaaab2 commit 1c40179
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 6 deletions.
39 changes: 39 additions & 0 deletions joss/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ @software{jax
year = {2018},
}

@article{kidger2021equinox,
author={Patrick Kidger and Cristian Garcia},
title={{E}quinox: neural networks in {JAX} via callable {P}y{T}rees and filtered transformations},
year={2021},
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}",
Expand All @@ -30,6 +37,38 @@ @inproceedings{hcipy

@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,
author = {{Perrin}, Marshall D. and {Soummer}, R{\'e}mi and {Elliott}, Erin M. and {Lallo}, Matthew D. and {Sivaramakrishnan}, Anand},
title = "{Simulating point spread functions for the James Webb Space Telescope with WebbPSF}",
booktitle = {Space Telescopes and Instrumentation 2012: Optical, Infrared, and Millimeter Wave},
year = 2012,
editor = {{Clampin}, Mark C. and {Fazio}, Giovanni G. and {MacEwen}, Howard A. and {Oschmann}, Jacobus M., Jr.},
series = {Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series},
volume = {8442},
month = sep,
eid = {84423D},
pages = {84423D},
doi = {10.1117/12.925230},
adsurl = {https://ui.adsabs.harvard.edu/abs/2012SPIE.8442E..3DP},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@article{Wechsler24,
author = {Felix Wechsler and Carlo Gigli and Jorge Madrid-Wolff and Christophe Moser},
journal = {Opt. Express},
keywords = {3D printing; Computed tomography; Liquid crystal displays; Material properties; Ray tracing; Refractive index},
number = {8},
pages = {14705--14712},
publisher = {Optica Publishing Group},
title = {Wave optical model for tomographic volumetric additive manufacturing},
volume = {32},
month = {Apr},
year = {2024},
url = {https://opg.optica.org/oe/abstract.cfm?URI=oe-32-8-14705},
doi = {10.1364/OE.521322},
}


@article{Desdoigts2023,
doi = {10.1117/1.jatis.9.2.028007},
url = {https://doi.org/10.1117/1.jatis.9.2.028007},
Expand Down
14 changes: 8 additions & 6 deletions joss/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,12 @@ 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.
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 optical simulations using matrix and FFT based propagation, as well as simulate linear and nonlinear detector effects.
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 [@Soumm, as well as simulate linear and nonlinear detector effects.

<!-- more here -->

Expand All @@ -53,15 +55,15 @@ In this paper we introduce `dLux`[^dlux], an open-source Python package for diff
<!-- 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], and in `WaveOpticsPropagation.jl`. By
Non-differentiable open-source physical optics packages used in astronomy include `poppy` [@poppy], `prysm` [@prysm]. By

Differentiable alternatives to `dLux` used in astronomy so far include `WaveDiff` [@Liaudat2023] and recent versions of `hcipy` [@hcipy]...
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] or `dO` [@Wang2022] for general cameras and `WaveBlocks` [@Page2020] in microscopy... etc. `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.
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`... etc
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]

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

0 comments on commit 1c40179

Please sign in to comment.