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.