Introduction#
Reconstruction algorithms define an inversion function \(\hat{x}=\inversef{y}{A}\) which recovers a signal \(x\) from measurements \(y\) given an operator \(A\).
x_hat = model(y, physics)
See also
See pretrained reconstructors for ready-to-use pretrained reconstruction algorithms that you can use to reconstruct images in one line.
Defining your own reconstructor#
All reconstruction algorithms inherit from the
deepinv.models.Reconstructor
base class, take as input measurements y
and forward operator physics
, and output a reconstruction x_hat
.
To use your own reconstructor with DeepInverse, simply define the forward
method to follow this pattern.
Summary#
Below we provide a summary of existing reconstruction methods, and a qualitative description of their reconstruction performance and speed.
For the models that require training, you can do this using the trainer and loss functions.
Family of methods |
Description |
Requires Training |
Iterative |
Sampling |
---|---|---|---|---|
Deep model architectures for reconstruction. |
No if pretrained, yes otherwise |
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 |
|
Models trained on multiple various physics and datasets for robustness to different problems. |
No |
No |
No |
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).