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