initialize_2D_vds_spiral#

mrinufft.trajectories.trajectory2D.initialize_2D_vds_spiral(Nc: int, oversamp: int = 1, acq: Acquisition | None = None, Rmin: float = 1, Rmax: float = 1, Fcoeffs: list | tuple | ndarray[tuple[int, ...], dtype[_ScalarType_co]] | None = None, krmax: float | None = None, normalize: bool = True, in_out: bool = False)[source]#

Variable density spiral, constrained by acquisition setup.

The undersampling/acceleration factor of the spiral increase linearly from Rmin to Rmax.

Parameters:
  • Nc (int) – Number of interleaves for the spiral

  • oversamp (int) – Oversampling factor for the trajectory calculation

  • acq (Acquisition) – Acquisition object defining the hardware constraints and imaging parameters

  • Rmin (float) – Minimum radial acceleration factor

  • Rmax (float) – Maximum radial acceleration factor (reached at krmax)

  • Fcoeffs (Alternative to describe radial acceleration factor) – Coefficients of the polynomial describing the radial acceleration factor F(r) = Fcoeffs[0] + Fcoeffs[1]*(r/krmax) + Fcoeffs[2]*(r/krmax)**2 + … If None, it is set to [fov/Rmin, fov/Rmax-fov/Rmin] (linear from Rmin to Rmax)

  • krmax (float, default=0.5) – Maximum radius for the spiral. If normalize is True, this is in arbitrary units, else in 1/m.

  • normalize (bool, default=True) – Whether to normalize the trajectory to the resolution (True) or return in 1/m ( False)

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

Returns:

ndarray – The 2D vds spiral trajectory

Return type:

(Nc,N,2)

Notes

Adapted from Brian Hargreaves MATLAB implementation

References

Lee, Hargreaves & Hu et al. (2003) Fast 3D Imaging Using Variable-Density Spiral Trajectories with Applications to Limb Perfusion, Magnetic Resonance in Medicine.