Denoiser#
- class deepinv.models.Denoiser(device='cpu')[source]#
Bases:
Module
Base class for denoiser models.
Provides a template for defining denoiser models.
While most denoisers \(\denoisername\) are designed to handle Gaussian noise with variance \(\sigma^2\), this is not mandatory.
Note
A Denoiser can be converted into a
Reconstructor
by using thedeepinv.models.ArtifactRemoval
class.The base class inherits from
torch.nn.Module
.- forward(x, sigma, **kwargs)[source]#
Applies denoiser \(\denoiser{x}{\sigma}\).
- Parameters:
x (torch.Tensor) – noisy input.
sigma (torch.Tensor, float) – noise level.
- Returns:
(torch.Tensor) Denoised tensor.
Examples using Denoiser
:#
Image transforms for equivariance & augmentations
Training a reconstruction network.
Random phase retrieval and reconstruction methods.
Plug-and-Play algorithm with Mirror Descent for Poisson noise inverse problems.
Vanilla PnP for computed tomography (CT).
DPIR method for PnP image deblurring.
PnP with custom optimization algorithm (Condat-Vu Primal-Dual)
Uncertainty quantification with PnP-ULA.
Image reconstruction with a diffusion model
Building your custom sampling algorithm.
Vanilla Unfolded algorithm for super-resolution
Deep Equilibrium (DEQ) algorithms for image deblurring
Unfolded Chambolle-Pock for constrained image inpainting
Image transformations for Equivariant Imaging
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.
Imaging inverse problems with adversarial networks