Denoising#

class deepinv.physics.Denoising(noise_model=GaussianNoise(), **kwargs)[source]#

Bases: DecomposablePhysics

Forward operator for denoising problems.

The linear operator is just the identity mapping \(A(x)=x\)

Parameters:

noise (torch.nn.Module) – noise distribution, e.g., deepinv.physics.GaussianNoise, or a user-defined torch.nn.Module.


Examples:

Denoising operator with Gaussian noise with standard deviation 0.1:

>>> from deepinv.physics import Denoising, GaussianNoise
>>> seed = torch.manual_seed(0) # Random seed for reproducibility
>>> x = 0.5*torch.randn(1, 1, 3, 3) # Define random 3x3 image
>>> physics = Denoising(GaussianNoise(sigma=0.1))
>>> with torch.no_grad():
...     physics(x)
tensor([[[[ 0.7302, -0.2064, -1.0712],
          [ 0.1985, -0.4322, -0.8064],
          [ 0.2139,  0.3624, -0.3223]]]])

Examples using Denoising:#

Creating your own dataset

Creating your own dataset

A tour of forward sensing operators

A tour of forward sensing operators

Expected Patch Log Likelihood (EPLL) for Denoising and Inpainting

Expected Patch Log Likelihood (EPLL) for Denoising and Inpainting

Patch priors for limited-angle computed tomography

Patch priors for limited-angle computed tomography

Self-supervised denoising with the UNSURE loss.

Self-supervised denoising with the UNSURE loss.

Self-supervised denoising with the SURE loss.

Self-supervised denoising with the SURE loss.

Self-supervised denoising with the Neighbor2Neighbor loss.

Self-supervised denoising with the Neighbor2Neighbor loss.