pygrappa.sense1d

Python implementation of SENSE.

pygrappa.sense1d.sense1d(im, sens, Rx=1, Ry=1, coil_axis=-1, imspace=True)[source]

Sensitivity Encoding for Fast MRI (SENSE) along one dimension.

Parameters:
  • im (array_like) – Array of the aliased 2D multicoil coil image. If imspace=False, im is the undersampled k-space data.
  • sens (array_like) – Complex coil sensitivity maps with the same dimensions as im.
  • Ry (Rx,) – Acceleration factor in x and y. One of Rx, Ry must be 1. If both are 1, then this is Roemer’s optimal coil combination.
  • coil_axis (int, optional) – Dimension holding coil data.
  • imspace (bool, optional) – If im is image space or k-space data.
Returns:

res – Unwrapped single coil reconstruction.

Return type:

array_like

Notes

Implements the algorithm first described in [1]. This implementation is based on the MATLAB tutorial found in [2].

This implementation handles only regular undersampling along a single dimension. Arbitrary undersampling is not supported by this function.

Odd Rx, Ry seem to behave strangely, i.e. not as well as even factors. Right now I’m padding im and sens by 1 and removing at end.

References

[1]Pruessmann, Klaas P., et al. “SENSE: sensitivity encoding for fast MRI.” Magnetic Resonance in Medicine: An Official Journal of the International Society for Magnetic Resonance in Medicine 42.5 (1999): 952-962.
[2]https://users.fmrib.ox.ac.uk/~mchiew/docs/ SENSE_tutorial.html