initialize_3D_annular_shells

initialize_3D_annular_shells#

mrinufft.trajectories.trajectory3D.initialize_3D_annular_shells(Nc, Ns, nb_shells, shell_tilt=3.141592653589793, ring_tilt=1.5707963267948966)[source]#

Initialize 3D trajectories with annular shells.

An exclusive trajectory inspired from the work proposed in [HM11]. It is similar to other trajectories based on concentric rings but rings are split into halves and rotated to be recombined with halves from other rings, in order to better balance the shot lengths between longer and shorter rings from a same shell.

Parameters:
  • Nc (int) – Number of shots

  • Ns (int) – Number of samples per shot

  • nb_shells (int) – Number of concentric shells/spheres

  • shell_tilt (str, float, optional) – Angle between consecutive shells along z-axis, by default pi

  • ring_tilt (str, float, optional) – Angle controlling approximately the ring halves rotation, by default pi / 2

Returns:

3D annular shell trajectory

Return type:

NDArray

References

[HM11]

Gerlach, Henryk, and Heiko von der Mosel. “On sphere-filling ropes.” The American Mathematical Monthly 118, no. 10 (2011): 863-876