initialize_2D_spiral

initialize_2D_spiral#

mrinufft.trajectories.trajectory2D.initialize_2D_spiral(Nc, Ns, tilt='uniform', in_out=False, nb_revolutions=1, spiral='archimedes', patch_center=True)[source]#

Initialize a 2D algebraic spiral trajectory.

A generalized function that generates algebraic spirals defined through the \(r = a O^n\) equality, with \(r\) the radius, \(O\) the polar angle and \(n\) the spiral power. Common algebraic spirals include Archimedes, Fermat and Galilean spirals.

Parameters:
  • Nc (int) – Number of shots

  • Ns (int) – Number of samples per shot

  • tilt (str, float, optional) – Tilt of the shots, by default “uniform”

  • in_out (bool, optional) – Whether to start from the center or not, by default False

  • nb_revolutions (int, optional) – Number of revolutions, by default 1

  • spiral (str, float, optional) – Spiral type or algebraic power, by default “archimedes”

  • patch_center (bool, optional) – Whether the spiral anomaly at the center should be patched or not for spirals with spiral \(>2\), by default True

Returns:

2D spiral trajectory

Return type:

array_like

Raises:

ValueError – If spiral is negative.

Notes

Algebraic spirals with negative powers, like hyperbolic or lithuus spirals, show asymptotic behaviors around the center. It makes them irrelevant for MRI and therefore negative powers are not allowed as an argument.