initialize_3D_cones

initialize_3D_cones#

mrinufft.trajectories.trajectory3D.initialize_3D_cones(Nc, Ns, tilt='golden', in_out=False, nb_zigzags=5, spiral='archimedes', width=1)[source]#

Initialize 3D trajectories with cones.

Initialize a trajectory consisting of 3D cones duplicated in each direction and almost evenly distributed using a Fibonacci lattice spherical projection when the tilt is set to “golden”.

The cone width is automatically determined based on the optimal circle packing of a sphere surface, as discussed in [CK90].

Parameters:
  • Nc (int) – Number of shots

  • Ns (int) – Number of samples per shot

  • tilt (str, float, optional) – Tilt of the cones, by default “golden”

  • in_out (bool, optional) – Whether the curves are going in-and-out or start from the center, by default False

  • nb_zigzags (float, optional) – Number of zigzags of the cones, by default 5

  • spiral (str, float, optional) – Spiral type, by default “archimedes”

  • width (float, optional) – Cone width normalized such that width=1 avoids cone overlaps, by default 1

Returns:

3D cones trajectory

Return type:

array_like

References

[CK90]

Clare, B. W., and D. L. Kepert. “The optimal packing of circles on a sphere.” Journal of mathematical chemistry 6, no. 1 (1991): 325-349.