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