PLANET

PLANET: an ellipse fitting approach for simultaneous T1 and T2…

…mapping Using Phase-Cycled Balanced Steady-State Free Precession.

mr_utils.recon.ssfp.planet.PLANET(I, alpha, TR, T1_guess, fit_ellipse=None, pcs=None, compute_df=False, disp=False)[source]

Simultaneous T1, T2 mapping using phase‐cycled bSSFP.

Parameters:
  • I (array_like) – Complex voxels from phase-cycled bSSFP images.
  • alpha (float) – Flip angle (in rad).
  • TR (float) – Repetition time (in sec).
  • T1_guess (float) – Estimate of expected T1 value (in sec).
  • fit_ellipse (callable, optional) – Function used to fit data points to ellipse.
  • pcs (array_like, optional) – Phase-cycles that generate phase-cycle images of I (required if computing df) (in rad).
  • compute_df (bool, optional) – Whether or not estimate local off-resonance, df.
  • disp (bool, optional) – Show debug plots.
Returns:

  • Meff (array_like) – Effective magnetization amplitude (arbitrary units).
  • T1 (array_like) – Estimate of T1 values (in sec).
  • T2 (array_like) – Estimate of T2 values (in sec).
  • df (array_like, optional) – Estimate of off-resonance values (in Hz).

Raises:
  • AssertionError – If fit_ellipse returns something that is not an ellipse
  • AssertionError – If the rotation fails and xc < 0 or yc =/= 0.
  • AssertionError – If a, b, or Meff are outside of interval (0, 1).
  • ValueError – If ellipse callapses to a line.
  • ValueError – If the sign of b cannot be determined.

Notes

Requires at least 6 phase cycles to fit the ellipse. The ellipse fitting method they use (and which is implemented here) may not be the best method, but it is quick. Could add more options for fitting in the future.

fit_ellipse(x, y) should take two arguments and return a vector containing the coefficients of the implicit ellipse equation. If fit_ellipse=None then the mr_utils.utils.fit_ellipse_halir() function will be used.

pcs should be a list of phase-cycles in radians. If pcs=None, it will be determined as I.size equally spaced phasce-cycles on the interval [0, 2pi).

Implements algorithm described in [1].

References

[1]Shcherbakova, Yulia, et al. “PLANET: an ellipse fitting approach for simultaneous T1 and T2 mapping using phase‐cycled balanced steady‐state free precession.” Magnetic resonance in medicine 79.2 (2018): 711-722.