SPyRiT is a PyTorch-based package for deep image reconstruction. While it is primarily designed for single-pixel image reconstruction, it can solve other linear reconstruction problems.
SPyRiT allows to simulate measurements and perform image reconstruction. Its main functionalities are impleted in the :class:`spyrit.core` subpackage, which contains six submodules:
- Measurement operators (meas) compute linear measurements y = Hx from images x, where H is a linear operator (matrix) and x is a vectorized image (see :mod:`spyrit.core.meas`).
- Noise operators (noise) corrupt measurements y with noise (see :mod:`spyrit.core.noise`).
- Preprocessing operators (prep) are used to process noisy measurements prior to reconstruction (see :mod:`spyrit.core.prep`).
- Reconstruction operators (recon) define the predefined reconstruction networks, which include both forward and reconstruction layers (see :mod:`spyrit.core.recon`).
- Neural networks (nnet) include well-known neural networks, generally used as denoiser layers (see :mod:`spyrit.core.nnet`).
- Training (train) provide the functionalities for training reconstruction networks (see :mod:`spyrit.core.train`).
.. toctree:: :maxdepth: 5 :caption: Contents: api/modules gallery/index
The spyrit package is available for Linux, MacOs and Windows:
pip install spyrit
Advanced installation guidelines are available on GitHub.
When using SPyRiT in scientific publications, please cite the following paper:
- Beneti-Martin, L Mahieu-Williame, T Baudier, N Ducros, "OpenSpyrit: an Ecosystem for Reproducible Single-Pixel Hyperspectral Imaging," Optics Express, Vol. 31, No. 10, (2023). DOI.
When using SPyRiT specifically for the denoised completion network, please cite the following paper:
- A Lorente Mur, P Leclerc, F Peyrin, and N Ducros, "Single-pixel image reconstruction from experimental data using neural networks," Opt. Express 29, 17097-17110 (2021). DOI.
Feel free to contact us by e-mail <mailto:nicolas.ducros@creatis.insa-lyon.fr> for any question. Active developers are currently Nicolas Ducros, Thomas Baudier and Juan Abascal. Direct contributions via pull requests (PRs) are welcome.
The full list of contributors can be found here.