Organisation of the package

_images/direct_net.png

SPyRiT’s typical pipeline.

SPyRiT allows to simulate measurements and perform image reconstruction using a full network. A full network includes a measurement operator \(A\), a noise operator \(\mathcal{N}\), a preprocessing operator \(B\), a reconstruction operator \(\mathcal{R}\), and a learnable neural network \(\mathcal{G}_{\theta}\). All operators inherit from torch.nn.Module.

Submodules

SPyRiT has a modular structure with the core functionality organised in the 8 submodules of spyrit.core.

  1. spyrit.core.meas provides measurement operators that compute linear measurements corresponding to \(A\) in Eq. (1). It also provides the adjoint and the pseudoinverse of \(A\), which are the basis of any reconstruction algorithm.

  2. spyrit.core.noise provides noise operators corresponding to \(\mathcal{N}\) in Eq. (1).

  3. spyrit.core.prep provides preprocessing operators for the operator \(B\) introduced in Eq. (2).

  4. spyrit.core.nnet provides known neural networks corresponding to \(\mathcal{G}\) in Eq. (4) or Eq. (5).

  5. spyrit.core.recon returns the reconstruction operator corresponding to \(\mathcal{R}\).

  6. spyrit.core.train provides the functionality to solve the minimisation problem of Eq. (3).

  7. spyrit.core.warp contains the operators used for dynamic acquisitions.

  8. spyrit.core.torch contains utility functions.

In addition, spyrit.misc contains various utility functions for Numpy / PyTorch that can be used independently of the core functions.

Finally, spyrit.external provides access to DR-UNet.