mrpro.data.traj_calculators.KTrajectorySpiral2D

class mrpro.data.traj_calculators.KTrajectorySpiral2D[source]

Bases: KTrajectoryCalculator

A spiral variable density trajectory.

Implements the spiral trajectory calculation as described in [KIM2003].

References

[KIM2003]

Kim, D.-h., Adalsteinsson, E. and Spielman, D.M. (2003), Simple analytic variable density spiral design. Magn. Reson. Med., 50: 214-219. https://doi.org/10.1002/mrm.10493

__init__(fov: SpatialDimension | float = 0.5, angle: float = 2.39996, acceleration_per_interleave: float = 20.0, density_factor: float = 1.0, gamma: float = GYROMAGNETIC_RATIO_PROTON, max_gradient: float = 0.1, max_slewrate: float = 100)[source]

Create a spiral trajectory calculator.

Parameters:
  • fov (SpatialDimension | float, default: 0.5) – Field of view [m].

  • angle (float, default: 2.39996) – Angle between interleaves [rad]. Usually set to 2pi/n_interleaves or golden angle (default).

  • acceleration_per_interleave (float, default: 20.0) – Acceleration per interleave. Overall acceleration is (acceleration_per_interleave/n_interleaves), where n_interleaves is determined by k1_idx.

  • density_factor (float, default: 1.0) – Density factor alpha. 1.0 is constant density, values > 1.0 sample more densely at the center.

  • gamma (float, default: GYROMAGNETIC_RATIO_PROTON) – Gyromagnetic ratio [Hz/T].

  • max_gradient (float, default: 0.1) – Maximum gradient amplitude [T/m].

  • max_slewrate (float, default: 100) – Maximum slew rate [T/m/s].

__call__(*, n_k0: int, k1_idx: Tensor, encoding_matrix: SpatialDimension, **_) KTrajectory[source]

Calculate the spiral trajectory.

Parameters:
  • n_k0 (int) – Number of samples along a spiral interleave.

  • k1_idx (Tensor) – Integer index of the interleaves

  • encoding_matrix (SpatialDimension) – Dimensions of the encoding matrix. Only square matrices are supported.

Returns:

Spiral Trajectory

__eq__(value, /)

Return self==value.

__new__(**kwargs)