pygrappa.grog¶
Python implmentation of the GROG algorithm.
-
pygrappa.grog.
grog
(kx, ky, k, N, M, Gx, Gy, precision=2, radius=0.75, Dx=None, Dy=None, coil_axis=-1, ret_image=False, ret_dicts=False, use_primefac=False, remove_os=True, inverse=False)[source]¶ GRAPPA operator gridding.
Parameters: - ky (kx,) – k-space coordinates (kx, ky) of measured data k. kx, ky should each be a 1D array. Must both be either float or double.
- k (array_like) – Measured k-space data at points (kx, ky).
- M (N,) – Desired resolution of Cartesian grid.
- Gy (Gx,) – Unit GRAPPA operators.
- precision (int, optional) – Number of decimal places to round fractional matrix powers to.
- radius (float, optional) – Radius of ball in k-space to from Cartesian targets from which to select source points.
- Dy (Dx,) – Dictionaries of precomputed fractional matrix powers.
- coil_axis (int, optional) – Axis holding coil data.
- ret_image (bool, optional) – Return image space result instead of k-space.
- ret_dicts (bool, optional) – Return dictionaries of fractional matrix powers.
- use_primefac (bool, optional) – Use prime factorization to speed-up fractional matrix power precomputations.
- remove_os (bool, optional) – Remove oversampling factor.
- inverse (bool, optional) – Do the inverse gridding operation, i.e., Cartesian points to (kx, ky).
Returns: - res (array_like) – Cartesian gridded k-space (or image).
- Dx, Dy (dict, optional) – Fractional matrix power dictionary for both Gx and Gy.
Raises: AssertionError
– When (kx, ky) have different types.AssertionError
– When (kx, ky) and k do not have matching types, i.e., if (kx, ky) are float32, k must be complex64.
Notes
Implements the GROG algorithm as described in [1].
References
[1] Seiberlich, Nicole, et al. “Self‐calibrating GRAPPA operator gridding for radial and spiral trajectories.” Magnetic Resonance in Medicine: An Official Journal of the International Society for Magnetic Resonance in Medicine 59.4 (2008): 930-935.