Introduction#
Reconstruction algorithms define an inversion function \(\hat{x}=\inversef{y}{A}\)
which attempts to recover a signal \(x\) from measurements \(y\), (possibly) given an operator \(A\).
All reconstruction algorithms in the library inherit from the
deepinv.models.Reconstructor
base class.
Below we provide a summary of existing reconstruction methods, and a qualitative description of their reconstruction performance and speed.
Tip
Some methods do not require any training and can be quickly deployed in your problem.
Tip
If you need to train your model and don’t have ground truth data, the library provides a large set of self-supervised losses which can learn from measurement data alone.
Family of methods |
Description |
Requires Training |
Iterative |
Sampling |
---|---|---|---|---|
Applies a neural network to a non-learned pseudo-inverse |
Yes |
No |
No |
|
Leverages pretrained denoisers as priors within an optimisation algorithm. |
No |
Yes |
No |
|
Constructs a trainable architecture by unrolling a PnP algorithm. |
Yes |
Only |
No |
|
Leverages pretrained denoisers within a ODE/SDE. |
No |
Yes |
Yes |
|
Solves an optimization problem with hand-crafted priors. |
No |
Yes |
No |
|
Leverages pretrained denoisers as priors within an optimisation algorithm. |
No |
Yes |
Yes |
|
Uses a generator network to model the set of possible images. |
No |
Yes |
Depends |
Note
Some algorithms might be better at reconstructing images with good perceptual quality (e.g. diffusion methods) whereas other methods are better at reconstructing images with low distortion (close to the ground truth).