|
3 | 3 | <h1 align='center'>WaveDiff</h1> |
4 | 4 | <h2 align='center'>A differentiable data-driven wavefront-based PSF modelling framework.</h2> |
5 | 5 |
|
| 6 | +WaveDiff is a differentiable PSF modelling pipeline constructed with [Tensorflow](https://github.com/tensorflow/tensorflow). It was developed at the [CosmoStat lab](https://www.cosmostat.org) at CEA Paris-Saclay. |
| 7 | + |
| 8 | +See the [documentation](https://cosmostat.github.io/wf-psf/) for details on how to install and run WaveDiff. |
| 9 | + |
6 | 10 | This repository includes: |
7 | 11 | - A differentiable PSF model entirely built in [Tensorflow](https://github.com/tensorflow/tensorflow). |
8 | | -- A numpy-based PSF simulator [here](https://github.com/tobias-liaudat/wf-psf/blob/main/wf_psf/SimPSFToolkit.py). |
| 12 | +- A [numpy-based PSF simulator](https://github.com/CosmoStat/wf-psf/tree/dummy_main/src/wf_psf/sims). |
9 | 13 | - All the scripts, jobs and notebooks required to reproduce the results in [arXiv:2203.04908](http://arxiv.org/abs/2203.04908) and [arXiv:2111.12541](https://arxiv.org/abs/2111.12541). |
10 | | - |
11 | | -For more information on how to use the WaveDiff model through configurable scripts see the `long-runs` directory's [README](https://github.com/tobias-liaudat/wf-psf/blob/main/long-runs/README.md). |
12 | | - |
13 | | -## Proposed framework |
14 | | - |
15 | | -A schematic of the proposed framework can be seen below. The PSF model is estimated (trained) using star observations in the field-of-view. |
16 | | - |
17 | | -<img height=300 src="assets/PSF_model_diagram_v6.png" > |
18 | | - |
19 | | -<!-- Visual reconstruction example of the WaveDiff-original PSF model trained on a simplified Euclid-like setting. |
20 | | -
|
21 | | -<img height=800 src="assets/PSF_reconstruction_example.png" > --> |
22 | | - |
23 | | - |
24 | | -## Install |
25 | | - |
26 | | -`wf-psf` is pure python and can be easily installed with `pip`. After cloning the repository, run the following commands: |
27 | | - |
28 | | -```bash |
29 | | -$ cd wf-psf |
30 | | -$ pip install . |
31 | | -``` |
32 | | - |
33 | | -The package can then be imported in Python as `import wf_psf as wf`. We recommend using the release `1.2.0` for stability as the current main branch is under development. |
34 | | - |
35 | | -## Requirements |
36 | | -- [numpy](https://github.com/numpy/numpy) [>=1.19.2] |
37 | | -- [scipy](https://github.com/scipy/scipy) [>=1.5.2] |
38 | | -- [TensorFlow](https://www.tensorflow.org/) [==2.4.1] |
39 | | -- [TensorFlow Addons](https://github.com/tensorflow/addons) [==0.12.1] |
40 | | -- [Astropy](https://github.com/astropy/astropy) [==4.2] |
41 | | -- [zernike](https://github.com/jacopoantonello/zernike) [==0.0.31] |
42 | | -- [opencv-python](https://github.com/opencv/opencv-python) [>=4.5.1.48] |
43 | | -- [pillow](https://github.com/python-pillow/Pillow) [>=8.1.0] |
44 | | -- [galsim](https://github.com/GalSim-developers/GalSim) [>=2.3.1] |
45 | | - |
46 | | -Optional packages: |
47 | | -- [matplotlib](https://github.com/matplotlib/matplotlib) [=3.3.2] |
48 | | -- [seaborn](https://github.com/mwaskom/seaborn) [>=0.11] |
49 | | - |
50 | | - |
51 | | -## Reproducible research |
52 | | - |
53 | | -#### [arXiv:2203.04908](http://arxiv.org/abs/2203.04908) Rethinking data-driven point spread function modeling with a differentiable optical model (2022) |
54 | | -_Submitted._ |
55 | | - |
56 | | -- Use the release 1.2.0. |
57 | | -- All the scripts, jobs and notebooks to reproduce the figures from the article can be found [here](https://github.com/tobias-liaudat/wf-psf/tree/main/papers/article_IOP). |
58 | | -- The trained PSF models are found [here](https://github.com/tobias-liaudat/wf-psf/tree/main/papers/article_IOP/data/models). |
59 | | -- The input PSF field can be found [here](https://github.com/tobias-liaudat/wf-psf/tree/main/data). |
60 | | -- The script used to generate the input PSF field is [this one](https://github.com/tobias-liaudat/wf-psf/blob/main/long-runs/LR-PSF-field-gen-coherentFields.py). |
61 | | -- The code required to run the comparison against pixel-based PSF models is in [this directory](https://github.com/tobias-liaudat/wf-psf/tree/main/method-comparison). |
62 | | -- The training of the models was done using [this script](https://github.com/tobias-liaudat/wf-psf/blob/main/long-runs/train_eval_plot_script_click.py). In order to match the script's option for the different models with the article you should follow: |
63 | | - - `poly->WaveDiff-original` |
64 | | - - `graph->WaveDiff-graph` |
65 | | - - `mccd->WaveDiff-Polygraph` |
66 | | - |
67 | | -_Note: To run the comparison to other PSF models you need to install them first. See [RCA](https://github.com/CosmoStat/rca), [PSFEx](https://github.com/astromatic/psfex) and [MCCD](https://github.com/CosmoStat/mccd)._ |
68 | | - |
69 | | - |
70 | | -#### [arXiv:2111.12541](https://arxiv.org/abs/2111.12541) Rethinking the modeling of the instrumental response of telescopes with a differentiable optical model (2021) |
71 | | -_NeurIPS 2021 Workshop on Machine Learning and the Physical Sciences._ |
72 | | - |
73 | | -- Use the release 1.2.0. |
74 | | -- All the scripts, jobs and notebooks to reproduce the figures from the article can be found [here](https://github.com/tobias-liaudat/wf-psf/tree/main/papers/Neurips2021_ML4Physics_workshop). |
75 | | - |
76 | | - |
77 | | - |
78 | | -## Citation |
79 | | - |
80 | | -If you use `wf-psf` in a scientific publication, we would appreciate citations to the following paper: |
81 | | - |
82 | | -*Rethinking data-driven point spread function modeling with a differentiable optical model*, T. Liaudat, J.-L. Starck, M. Kilbinger, P.-A. Frugier, [arXiv:2203.04908](http://arxiv.org/abs/2203.04908), 2022. |
83 | | - |
84 | | - |
85 | | -The BibTeX citation is the following: |
86 | | -``` |
87 | | -@misc{https://doi.org/10.48550/arxiv.2203.04908, |
88 | | - doi = {10.48550/ARXIV.2203.04908}, |
89 | | - |
90 | | - url = {https://arxiv.org/abs/2203.04908}, |
91 | | - |
92 | | - author = {Liaudat, Tobias and Starck, Jean-Luc and Kilbinger, Martin and Frugier, Pierre-Antoine}, |
93 | | - |
94 | | - keywords = {Instrumentation and Methods for Astrophysics (astro-ph.IM), Computer Vision and Pattern Recognition (cs.CV), FOS: Physical sciences, FOS: Physical sciences, FOS: Computer and information sciences, FOS: Computer and information sciences}, |
95 | | - |
96 | | - title = {Rethinking data-driven point spread function modeling with a differentiable optical model}, |
97 | | - |
98 | | - publisher = {arXiv}, |
99 | | - |
100 | | - year = {2022}, |
101 | | - |
102 | | - copyright = {arXiv.org perpetual, non-exclusive license} |
103 | | -} |
104 | | -``` |
105 | | - |
0 commit comments