deepmr.optim.admm_solve

Contents

deepmr.optim.admm_solve#

deepmr.optim.admm_solve = <function admm_solve>#

Solve inverse problem using Alternate Direction of Multipliers Method.

Parameters:
  • input (np.ndarray | torch.Tensor) – Signal to be reconstructed. Assume it is the adjoint AH of measurement operator A applied to the measured data y (i.e., input = AHy).

  • step (float) – Gradient step size; should be <= 1 / max(eig(AHA)).

  • AHA (Callable | torch.Tensor | np.ndarray) – Normal operator AHA = AH * A.

  • D (Callable) – Signal denoiser for plug-n-play restoration.

  • niter (int, optional) – Number of iterations. The default is 10.

  • device (str, optional) – Computational device. The default is None (infer from input).

  • dc_niter (int, optional) – Number of iterations of inner data consistency step. The default is 10.

  • dc_tol (float, optional) – Stopping condition for inner data consistency step. The default is 1e-4.

  • dc_ndim (int, optional) – Number of spatial dimensions of the problem for inner data consistency step. It is used to infer the batch axes. If AHA is a deepmr.linop.Linop operator, this is inferred from AHA.ndim and ndim is ignored.

Returns:

output – Reconstructed signal.

Return type:

np.ndarray | torch.Tensor