BSREMIteration#

class deepinv.optim.optim_iterators.BSREMIteration(eps=1e-6, sensitivity_threshold=1e-2, cost_fn=None, **kwargs)[source]#

Bases: OptimIterator

Performs a single BSREM epoch, updating the estimate once per measurement subset. See deepinv.optim.BSREM for algorithm details.

Parameters:
  • eps (float) – Lower bound for division denominators and the reconstructed image. Default: 1e-6.

  • sensitivity_threshold (float) – Sensitivity threshold defining the reconstruction support. Default: 1e-2.

  • cost_fn (Callable) – Custom cost function evaluated after each epoch. Default: None.

forward(X, cur_data_fidelity, cur_prior, cur_params, y, physics, sensitivities, *args, **kwargs)[source]#

Perform one Block Sequential Regularized EM epoch.

Parameters:
Returns:

Dictionary {"est": (x, None), "cost": F, "it": k + 1} containing the updated iterate and estimated cost.

Return type:

dict[str, tuple[torch.Tensor, None] | torch.Tensor | int | None]