pygrappa.slicegrappa¶
Python implementation of the Slice-GRAPPA algorithm.
-
pygrappa.slicegrappa.
slicegrappa
(kspace, calib, kernel_size=(5, 5), prior='sim', coil_axis=-2, time_axis=-1, slice_axis=-1, lamda=0.01, split=False)[source]¶ (Split)-Slice-GRAPPA for SMS reconstruction.
Parameters: - kspace (array_like) – Time frames of sum of k-space coil measurements for multiple slices.
- calib (array_like) – Single slice measurements for each slice present in kspace. Should be the same dimensions.
- kernel_size (tuple, optional) – Size of the GRAPPA kernel: (kx, ky).
- prior ({ 'sim', 'kspace' }, optional) –
How to construct GRAPPA sources. GRAPPA weights are found by solving the least squares problem T = S W, where T are the targets (calib), S are the sources, and W are the weights. The possible options are:
- ’sim’: simulate SMS acquisition from calibration data, i.e., sources S = sum(calib, axis=slice_axis). This presupposes that the spatial locations of the slices in the calibration data are the same as in the overlapped kspace data. This is similar to how the k-t BLAST Wiener filter is constructed (see equation 1 in [2]).
- ’kspace’: uses the first time frame of the overlapped data as sources, i.e., S = kspace[1st time frame].
This option is not used for Split-Slice-GRAPPA.
- coil_axis (int, optional) – Dimension that holds the coil data.
- time_axis (int, optional) – Dimension of kspace that holds the time data.
- slice_axis (int, optional) – Dimension of calib that holds the slice information.
- lamda (float, optional) – Tikhonov regularization for the kernel calibration.
- split (bool, optional) – Uses Split-Slice-GRAPPA kernel training method.
Returns: res – Reconstructed slices for each time frame. res will always return the data in fixed order or shape: (nx, ny, num_coils, num_time_frames, num_slices).
Return type: array_like
Raises: NotImplementedError
– When “prior” is an invalid option.Notes
This function implements both the Slice-GRAPPA algorithm as described in [1] and the Split-Slice-GRAPPA algorithm as first described in [3].
References
[1] Setsompop, Kawin, et al. “Blipped‐controlled aliasing in parallel imaging for simultaneous multislice echo planar imaging with reduced g‐factor penalty.” Magnetic resonance in medicine 67.5 (2012): 1210-1224. [2] Sigfridsson, Andreas, et al. “Improving temporal fidelity in k-t BLAST MRI reconstruction.” International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Berlin, Heidelberg, 2007. [3] Cauley, Stephen F., et al. “Interslice leakage artifact reduction technique for simultaneous multislice acquisitions.” Magnetic resonance in medicine 72.1 (2014): 93-102.