PoissonLikelihood

class deepinv.optim.PoissonLikelihood(gain=1.0, bkg=0, normalize=True)[source]

Bases: DataFidelity

Poisson negative log-likelihood.

\[\datafid{z}{y} = -y^{\top} \log(z+\beta)+1^{\top}z\]

where \(y\) are the measurements, \(z\) is the estimated (positive) density and \(\beta\geq 0\) is an optional background level.

Note

The function is not Lipschitz smooth w.r.t. \(z\) in the absence of background (\(\beta=0\)).

Parameters:

bkg (float) – background level \(\beta\).

d(x, y)[source]

Computes the Poisson negative log-likelihood.

Parameters:
grad_d(x, y)[source]

Gradient of the Poisson negative log-likelihood.

Parameters:
prox_d(x, y, gamma=1.0)[source]

Proximal operator of the Poisson negative log-likelihood.

Parameters:
  • x (torch.Tensor) – signal \(x\) at which the function is computed.

  • y (torch.Tensor) – measurement \(y\).

  • gamma (float) – proximity operator step size.

Examples using PoissonLikelihood:

Implementing DiffPIR

Implementing DiffPIR