Poisson2Sparse#

class deepinv.models.Poisson2Sparse(backbone=None, *, lr=1e-4, weight_n2n=2.0, weight_l1_regularization=1e-5, num_iter=200, verbose=False)[source]#

Bases: Denoiser

Poisson2Sparse model for Poisson denoising.

This method, introduced by Ta et al.[1], reconstructs an image corrupted by Poisson noise by learning a sparse non-linear dictionary parametrized by a neural network using a combination of Neighbor2Neighbor Huang et al.[2], of the negative log Poisson likelihood, of the \(\ell^1\) pixel distance and of a sparsity-inducing \(\ell^1\) regularization function on the weights.

Note

This method does not use knowledge of the physics model and assumes a Poisson degradation model internally. Therefore, the physics object can be omitted when calling the model and specifying it will have no effect.

Note

The denoiser expects images with a dynamic range normalized between zero and one.

Parameters:
  • backbone (torch.nn.Module, None) – Neural network used as a non-linear dictionary. If None, a default deepinv.models.ConvLista model is used.

  • lr (float) – Learning rate of the AdamW optimizer (default: 1e-4).

  • weight_n2n (float) – Weight of the Neighbor2Neighbor loss term (default: 2.0).

  • weight_l1_regularization (float) – Weight of the sparsity-inducing \(\ell^1\) regularization on the weights (default: 1e-5).

  • num_iter (int) – Number of optimization iterations (default: 200).

  • verbose (bool) – If True, print progress (default: False).


References:

Examples using Poisson2Sparse:#

Poisson denoising using Poisson2Sparse

Poisson denoising using Poisson2Sparse