-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a21f81c
commit eec9b31
Showing
4 changed files
with
204 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
on: [push] | ||
|
||
jobs: | ||
paper: | ||
runs-on: ubuntu-latest | ||
name: Paper Draft | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Build draft PDF | ||
uses: openjournals/openjournals-draft-action@master | ||
with: | ||
journal: joss | ||
# This should be the path to the paper within your repo. | ||
paper-path: joss/paper.md | ||
- name: Upload | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: paper | ||
# This is the output path where Pandoc will write the compiled | ||
# PDF. Note, this should be the same directory as the input | ||
# paper.md | ||
path: joss/paper.pdf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
### Script to generate whatever figure we have in the JOSS paper |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
@software{jax, | ||
author = {James Bradbury and Roy Frostig and Peter Hawkins and Matthew James Johnson and Chris Leary and Dougal Maclaurin and Skye Wanderman-Milne}, | ||
title = {{JAX}: composable transformations of {P}ython+{N}um{P}y programs}, | ||
url = {http://github.com/google/jax}, | ||
version = {0.1.55}, | ||
year = {2018}, | ||
} | ||
|
||
@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} | ||
} | ||
|
||
@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{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} } | ||
|
||
@article{Desdoigts2023, | ||
doi = {10.1117/1.jatis.9.2.028007}, | ||
url = {https://doi.org/10.1117/1.jatis.9.2.028007}, | ||
year = {2023}, | ||
month = jun, | ||
publisher = {{SPIE}-Intl Soc Optical Eng}, | ||
volume = {9}, | ||
number = {02}, | ||
author = {Louis Desdoigts and Benjamin J. S. Pope and Jordan Dennis and Peter G. Tuthill}, | ||
title = {Differentiable optics with $\partial$Lux: I{\textemdash}deep calibration of flat field and phase retrieval with automatic differentiation}, | ||
journal = {Journal of Astronomical Telescopes, Instruments, and Systems} | ||
} | ||
|
||
@article{Sitzmann2018, | ||
title = {End-to-end optimization of optics and image processing for achromatic extended depth of field and super-resolution imaging}, | ||
volume = {37}, | ||
ISSN = {1557-7368}, | ||
url = {http://dx.doi.org/10.1145/3197517.3201333}, | ||
DOI = {10.1145/3197517.3201333}, | ||
number = {4}, | ||
journal = {ACM Transactions on Graphics}, | ||
publisher = {Association for Computing Machinery (ACM)}, | ||
author = {Sitzmann, Vincent and Diamond, Steven and Peng, Yifan and Dun, Xiong and Boyd, Stephen and Heidrich, Wolfgang and Heide, Felix and Wetzstein, Gordon}, | ||
year = {2018}, | ||
month = jul, | ||
pages = {1–13} | ||
} | ||
|
||
@ARTICLE{Page2020, | ||
author = {{Page}, Josue and {Favaro}, Paolo}, | ||
title = "{Learning to Model and Calibrate Optics via a Differentiable Wave Optics Simulator}", | ||
journal = {arXiv e-prints}, | ||
keywords = {Electrical Engineering and Systems Science - Image and Video Processing, Computer Science - Computer Vision and Pattern Recognition}, | ||
year = 2020, | ||
month = may, | ||
eid = {arXiv:2005.08562}, | ||
pages = {arXiv:2005.08562}, | ||
doi = {10.48550/arXiv.2005.08562}, | ||
archivePrefix = {arXiv}, | ||
eprint = {2005.08562}, | ||
primaryClass = {eess.IV}, | ||
adsurl = {https://ui.adsabs.harvard.edu/abs/2020arXiv200508562P}, | ||
adsnote = {Provided by the SAO/NASA Astrophysics Data System} | ||
} | ||
|
||
|
||
@ARTICLE{Liaudat2023, | ||
author = {{Liaudat}, Tobias and {Starck}, Jean-Luc and {Kilbinger}, Martin and {Frugier}, Pierre-Antoine}, | ||
title = "{Rethinking data-driven point spread function modeling with a differentiable optical model}", | ||
journal = {Inverse Problems}, | ||
keywords = {point spread function modeling, automatic differentiation, super-resolution, chromatic variations, matrix factorization, Astrophysics - Instrumentation and Methods for Astrophysics, Computer Science - Computer Vision and Pattern Recognition}, | ||
year = 2023, | ||
month = mar, | ||
volume = {39}, | ||
number = {3}, | ||
eid = {035008}, | ||
pages = {035008}, | ||
doi = {10.1088/1361-6420/acb664}, | ||
archivePrefix = {arXiv}, | ||
eprint = {2203.04908}, | ||
primaryClass = {astro-ph.IM}, | ||
adsurl = {https://ui.adsabs.harvard.edu/abs/2023InvPr..39c5008L}, | ||
adsnote = {Provided by the SAO/NASA Astrophysics Data System} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
--- | ||
title: 'dLux: Differentiable Physical Optics in Jax' | ||
tags: | ||
- Python | ||
- Physical Optics | ||
- Telescopes | ||
- Exoplanet Science | ||
|
||
authors: | ||
- name: Louis Desdoigts | ||
orcid: 0000-0002-1015-9029 | ||
affiliation: 1 # (Multiple affiliations must be quoted) | ||
corresponding: true | ||
- name: Benjamin J. S. PopeS | ||
affiliation: "2,3" | ||
orcid: 0000-0003-2595-9114 | ||
- name: Jordan Dennis | ||
affiliation: 2 | ||
orcid: 0000-0001-8125-6494 | ||
affiliations: | ||
- name: School of Physics, University of Sydney, Cammperdown, NSW 2006, Australia | ||
index: 1 | ||
- name: School of Mathematics and Physics, University of Queensland, St Lucia, QLD 4072, Australia | ||
index: 2 | ||
- name: Centre for Astrophysics, University of Southern Queensland, West Street, Toowoomba, QLD 4350, Australia | ||
index: 3 | ||
date: 9 Feb 2024 | ||
bibliography: paper.bib | ||
--- | ||
|
||
# Summary | ||
|
||
<!-- why physical optics in astronomy --> | ||
|
||
<!-- what is dLux --> | ||
`dLux`[^dlux] is an first open-source Python package for physical optics simulation. Using `jax` [@jax] it is differentiable and 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. | ||
|
||
<!-- more here --> | ||
|
||
<!-- something about zodiax? --> | ||
|
||
# Statement of need | ||
|
||
<!-- describe problem and relevant citations --> | ||
|
||
<!-- 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`. | ||
|
||
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] for general cameras and `WaveBlocks` [@Page2020] in microscopy... etc | ||
|
||
<!-- 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 | ||
|
||
- class or feature 1 | ||
- class or feature 2, etc | ||
|
||
<!-- cite Desdoigts papers it has been used in --> | ||
|
||
# Documentation & Case Studies | ||
<!-- briefly summarize tutorials --> | ||
|
||
In the accompanying [documentation](https://louisdesdoigts.github.io/dLux), we have produced several notebooks illustrating use cases... | ||
|
||
- [example 1](https://louisdesdoigts.github.io/dLux/notebooks/whatever/); | ||
|
||
Figures produced for... are shown in \autoref{fig1}. | ||
<!-- also ref joss_figure.py to make figure, or do similar with notebook, so that it is reproducible --> | ||
|
||
![Figure Caption. \label{fig1}](joss_figure.png) | ||
|
||
# Acknowledgements | ||
|
||
<!-- whoever we acknowledge --> | ||
|
||
# References | ||
<!-- 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) |