MLEMIteration#
- class deepinv.optim.optim_iterators.MLEMIteration(**kwargs)[source]#
Bases:
OptimIteratorIterator for the Maximum-Likelihood Expectation-Maximization (MLEM) algorithm for Poisson inverse problems.
Class for a single iteration of the MLEM algorithm Shepp and Vardi[1], which is a classic baseline reconstruction method for inverse problems with Poisson noise statistics. More details on the algorithm can be found in the documentation of the
deepinv.optim.optimizers.MLEMoptimizer.
- References:
- forward(X, cur_data_fidelity, cur_prior, cur_params, y, physics, *args, **kwargs)[source]#
Single Maximum-Likelihood Expectation-Maximization (MLEM) iteration.
This corresponds to an update on both the Poisson negative log-likelihood and prior terms if a prior is provided, and only on Poisson negative log-likelihood otherwise.
- Parameters:
x (torch.Tensor) – Current iterate \(x_k\).
cur_data_fidelity (deepinv.optim.DataFidelity) – Instance of the DataFidelity class defining the current data_fidelity.
cur_prior (deepinv.optim.Prior) – Instance of the Prior class defining the current prior.
cur_params (dict) – Dictionary containing the current parameters of the algorithm.
y (torch.Tensor) – Input data.
physics (deepinv.physics.Physics) – Instance of the physics modeling the data-fidelity term.