pygrappa.igrappa

Python implementation of the iGRAPPA algorithm.

pygrappa.igrappa.igrappa(kspace, calib, kernel_size=(5, 5), k=0.3, coil_axis=-1, lamda=0.01, ref=None, niter=10, silent=True, backend=<function mdgrappa>)[source]

Iterative GRAPPA.

Parameters:
  • kspace (array_like) – 2D multi-coil k-space data to reconstruct from. Make sure that the missing entries have exact zeros in them.
  • calib (array_like) – Calibration data (fully sampled k-space).
  • kernel_size (tuple, optional) – Size of the 2D GRAPPA kernel (kx, ky).
  • k (float, optional) – Regularization parameter for iterative reconstruction. Must be in the interval (0, 1).
  • coil_axis (int, optional) – Dimension holding coil data. The other two dimensions should be image size: (sx, sy).
  • lamda (float, optional) – Tikhonov regularization for the kernel calibration.
  • ref (array_like or None, optional) – Reference k-space data. This is the true data that we are attempting to reconstruct. If provided, MSE at each iteration will be returned. If None, only reconstructed kspace is returned.
  • niter (int, optional) – Number of iterations.
  • silent (bool, optional) – Suppress messages to user.
  • backend (callable) – GRAPPA function to use during each iteration. Default is pygrappa.mdgrappa.
Returns:

  • res (array_like) – k-space data where missing entries have been filled in.
  • mse (array_like, optional) – MSE at each iteration. Returned if ref not None.

Raises:

AssertionError – If regularization parameter k is not in the interval (0, 1).

Notes

More or less implements the iterative algorithm described in [1].

References

[1]Zhao, Tiejun, and Xiaoping Hu. “Iterative GRAPPA (iGRAPPA) for improved parallel imaging reconstruction.” Magnetic Resonance in Medicine: An Official Journal of the International Society for Magnetic Resonance in Medicine 59.4 (2008): 903-907.