deepmr.recon.espirit_cal

Contents

deepmr.recon.espirit_cal#

deepmr.recon.espirit_cal(data, coord=None, dcf=None, shape=None, k=6, r=24, t=0.02, c=0.0, nsets=1)[source]#

Derives the ESPIRiT [1] operator.

Parameters:
  • data (np.ndarray | torch.Tensor) – Multi channel k-space data.

  • coord (np.ndarray | torch.Tensor, optional) – K-space trajectory of shape = (ncontrasts, nviews, nsamples, ndim). The default is None (Cartesian acquisition).

  • dcf (np.ndarray | torch.Tensor, optional) – K-space density compensation of shape = (ncontrasts, nviews, nsamples). The default is None (no compensation).

  • shape (Iterable[int] | optional) – Shape of the k-space after gridding. If not provided, estimate from input data (assumed on a Cartesian grid already). The default is None (Cartesian acquisition).

  • k (int, optional) – k-space kernel size. The default is 6.

  • r (int, optional) – Calibration region size. The default is 24.

  • t (float, optional) – Rank of the auto-calibration matrix (A). The default is 0.02.

  • c (float, optional) – Crop threshold that determines eigenvalues “=1”. The defaults is 0.95.

  • nsets (int, optional) – Number of set of maps to be returned. The default is 1 (conventional SENSE recon).

Returns:

maps – Output coil sensitivity maps.

Return type:

np.ndarray | torch.Tensor

Notes

The input k-space data tensor is assumed to have the following shape:

  • 2Dcart: (nslices, ncoils, ..., ny, nx).

  • 2Dnoncart: (nslices, ncoils, ..., nviews, nsamples).

  • 3Dcart: (nx, ncoils, ..., nz, ny).

  • 3Dnoncart: (ncoils, ..., nviews, nsamples).

For multi-contrast acquisitions, calibration is obtained by averaging over contrast dimensions.

The output sensitivity maps are assumed to have the following shape:

  • 2Dcart: (nsets, nslices, ncoils, ny, nx).

  • 2Dnoncart: (nsets, nslices, ncoils, ny, nx).

  • 3Dcart: (nsets, nx, ncoils, nz, ny).

  • 3Dnoncart: (nsets, ncoils, nz, ny, nx).

References