initialize_3D_wave_caipi#
- mrinufft.trajectories.trajectory3D.initialize_3D_wave_caipi(Nc, Ns, nb_revolutions=5, width=1, packing='triangular', shape='square', spacing=(1, 1))[source]#
Initialize 3D trajectories with Wave-CAIPI.
This implementation is based on the work from [Bil+15].
- Parameters:
Nc (int) – Number of shots
Ns (int) – Number of samples per shot
nb_revolutions (float, optional) – Number of revolutions, by default 5
width (float, optional) – Diameter of the helices normalized such that width=1 densely covers the k-space without overlap for square packing, by default 1.
packing (str, optional) – Packing method used to position the helices: “triangular”/”hexagonal”, “square”, “circular” or “random”/”uniform”, by default “triangular”.
shape (str or 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:
3D wave-CAIPI trajectory
- Return type:
array_like
References
[Bil+15]Bilgic, Berkin, Borjan A. Gagoski, Stephen F. Cauley, Audrey P. Fan, Jonathan R. Polimeni, P. Ellen Grant, Lawrence L. Wald, and Kawin Setsompop. “Wave‐CAIPI for highly accelerated 3D imaging.” Magnetic resonance in medicine 73, no. 6 (2015): 2152-2162.