ArtifactRemoval#
- class deepinv.models.ArtifactRemoval(backbone_net: Denoiser, mode='adjoint', pinv=False, ckpt_path=None, device=None)[source]#
Bases:
Reconstructor
Artifact removal architecture.
Transforms a denoiser \(\phi\) into a reconstruction network \(R\) by doing
Adjoint: \(\inversef{y}{A}=\phi(A^{\top}y)\) with
mode='adjoint'
.Pseudoinverse: \(\inversef{y}{A}=\phi(A^{\dagger}y)\) with
mode='pinv'
.Direct: \(\inversef{y}{A}=\phi(y)\) with
mode='direct'
.
Note
In the case of
mode='pinv'
, the architecture is inspired by the FBPConvNet approach of https://arxiv.org/pdf/1611.03679 where a deep network \(\phi\) is used to improve the filtered back projection \(A^{\dagger}y\).Deprecated since version 0.2.2: The
pinv
parameter is deprecated and might be removed in future versions. Usemode
instead.- Parameters:
backbone_net (deepinv.models.Denoiser, torch.nn.Module) – Base denoiser network \(\phi\) (see Denoisers for available architectures).
mode (str) – Reconstruction mode. Options are ‘direct’, ‘adjoint’ or ‘pinv’.
pinv (bool) – (deprecated) if
True
uses pseudo-inverse \(A^{\dagger}y\) instead of the default transpose.device (torch.device) – cpu or gpu.
- forward(y, physics, **kwargs)[source]#
Reconstructs a signal estimate from measurements y
- Parameters:
y (torch.Tensor) – measurements
physics (deepinv.physics.Physics) – forward operator
Examples using ArtifactRemoval
:#
Training a reconstruction network.
Self-supervised learning with measurement splitting
Self-supervised denoising with the UNSURE loss.
Self-supervised denoising with the SURE loss.
Self-supervised denoising with the Neighbor2Neighbor loss.
Self-supervised learning from incomplete measurements of multiple operators.