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 adeepmr.linop.Linop
operator, this is inferred fromAHA.ndim
andndim
is ignored.
- Returns:
output – Reconstructed signal.
- Return type:
np.ndarray | torch.Tensor