get_packing_spacing_positions#

mrinufft.trajectories.tools.get_packing_spacing_positions(Nc: int, packing: str = 'triangular', shape: str | float = 'square', spacing: tuple[int, int] = (1, 1))[source]#

Generate a k-space positions for a fixed spacing and packing.

Parameters:
  • Nc (int) – Number of positions

  • packing (str, optional) – Packing method used to position the helices: “triangular”/”hexagonal”, “square”, “circular” or “random”/”uniform”, by default “triangular”.

  • shape (str | float, optional) – Shape over the 2D \(k_x-k_y\) plane to pack with shots, either defined as str (“circle”, “square”, “diamond”) or as float through p-norms following the conventions of the ord parameter from numpy.linalg.norm, by default “circle”.

  • spacing (tuple[int, int]) – Spacing between helices over the 2D \(k_x-k_y\) plane normalized similarly to width to correspond to helix diameters, by default (1, 1).

Returns:

positions – The Non-Cartesian coordinates of the sampled k-space points in 2D plane.

Return type:

ndarray of shape (N, 2)