scgrog¶
Self calibrating GROG implementation.
Based on the MATLAB GROG implementation found here: https://github.com/edibella/Reconstruction
-
mr_utils.gridding.scgrog.scgrog.
fracpowers
(idx, Gx, Gy, dkxs, dkys)[source]¶ Wrapper function to use during parallelization.
Parameters: - idx (array_like) – Indices of current fractioinal power GRAPPA kernels
- Gx (array_like) – GRAPPA kernel in x
- Gy (array_like) – GRAPPA kernel in y
- dkxs (array_like) – Differential x k-space coordinates
- dkys (array_like) – Differential y k-space coordinates
Returns: - ii (array_like) – row indices
- jj (array_like) – col indices
- Gxf (array_like) – Fractional power of GRAPPA kernel in x
- Gyf (array_like) – Fractional power of GRAPPA kernel in y
-
mr_utils.gridding.scgrog.scgrog.
grog_interp
(kspace, Gx, Gy, traj, cartdims)[source]¶ Moves radial k-space points onto a cartesian grid via the GROG method.
Parameters: - kspace (array_like) – A 3D (sx, sor, soc) slice of k-space
- Gx (array_like) – The unit horizontal cartesian GRAPPA kernel
- Gy (array_like) – Unit vertical cartesian GRAPPA kernel
- traj (array_like) – k-space trajectory
- cartdims (tuple) – (nrows, ncols), size of Cartesian grid
Returns: Interpolated cartesian kspace.
Return type: array_like
-
mr_utils.gridding.scgrog.scgrog.
scgrog
(kspace, traj, Gx, Gy, cartdims=None)[source]¶ Self calibrating GROG interpolation.
Parameters: - kspace (array_like) – A 4D (sx, sor, nof, soc) matrix of complex k-space data
- traj (array_like) – k-space trajectory
- Gx (array_like) – The unit horizontal cartesian GRAPPA kernel
- Gy (array_like) – Unit vertical cartesian GRAPPA kernel
- cartdims (tuple) – Size of Cartesian grid.
Returns: - kspace_cart (array_like) – Cartesian gridded k-space.
- mask (array_like) – Boolean mask where kspace is nonzero.
Notes
If cartdims=None, we’ll guess the Cartesian dimensions are (kspace.shape[0], kspace.shape[0], kspace.shape[2], kspace.shape[3]).