SPyRiT’s documentation

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.

_images/principle.png

SPyRiT allows to simulate measurements and perform image reconstruction. Its main functionalities are impleted in the spyrit.core subpackage, which contains six submodules:

  1. 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 spyrit.core.meas).

  2. Noise operators (noise) corrupt measurements \(y\) with noise (see spyrit.core.noise).

  3. Preprocessing operators (prep) are used to process noisy measurements prior to reconstruction (see spyrit.core.prep).

  4. Reconstruction operators (recon) define the predefined reconstruction networks, which include both forward and reconstruction layers (see spyrit.core.recon).

  5. Neural networks (nnet) include well-known neural networks, generally used as denoiser layers (see spyrit.core.nnet).

  6. Training (train) provide the functionalities for training reconstruction networks (see spyrit.core.train).

Installation

The spyrit package is available for Linux, MacOs and Windows:

pip install spyrit

Advanced installation guidelines are available on GitHub.

Cite us

When using SPyRiT in scientific publications, please cite the following paper:

    1. 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.

Join the project

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.