precess

Contents

precess#

mrinufft.trajectories.tools.precess(trajectory, nb_rotations, tilt='golden', half_sphere=False, partition='axial', axis=None)[source]#

Rotate trajectories as a precession around the \(k_z\)-axis.

Parameters:
  • trajectory (array_like) – Trajectory in 2D or 3D to rotate.

  • nb_rotations (int) – Number of rotations repeating the provided trajectory while precessing.

  • tilt (str, optional) – Angle tilt between consecutive rotations around the \(k_z\)-axis, by default “golden”.

  • half_sphere (bool, optional) – Whether the precession should be limited to the upper half of the k-space sphere. It is typically used for in-out trajectories or planes.

  • partition (str, optional) – Partition type between an “axial” or “polar” split of the \(k_z\)-axis, designating whether the axis should be fragmented by radius or angle respectively, by default “axial”.

  • axis (int, array_like, optional) – Axis selected for alignment reference when rotating the trajectory around the \(k_z\)-axis, generally corresponding to the shot direction for single shot trajectory inputs. It can either be an integer for one of the three k-space axes, or directly a 3D array. The default behavior when None is to select the last coordinate of the first shot as the axis, by default None.

Returns:

Precessed trajectory.

Return type:

array_like