deepmr.optim.pgd_solve

Contents

deepmr.optim.pgd_solve#

deepmr.optim.pgd_solve = <function pgd_solve>#

Solve inverse problem using Proximal Gradient 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.

  • accelerate (bool, optional) – Toggle Nesterov acceleration (True, i.e., FISTA) or not (False, ISTA). The default is True.

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

  • tol (float, optional) – Stopping condition. The default is None (run until niter).

Returns:

output – Reconstructed signal.

Return type:

np.ndarray | torch.Tensor