mrinufft.trajectories#

Collection of trajectories and tools used for non-Cartesian MRI.

See also the trajectories examples: Trajectories Examples

Functions

R2D

Initialize 2D rotation matrix.

Ra

Initialize 3D rotation matrix around an arbitrary vector.

Rv

Initialize 3D rotation matrix from two vectors.

Rx

Initialize 3D rotation matrix around x axis.

Ry

Initialize 3D rotation matrix around y axis.

Rz

Initialize 3D rotation matrix around z axis.

get_closest_fibonacci_number

Provide the closest Fibonacci number.

initialize_2D_cones

Initialize a 2D cone trajectory.

initialize_2D_eccentric

Initialize a 2D ECCENTRIC trajectory.

initialize_2D_fibonacci_spiral

Initialize a 2D Fibonacci spiral trajectory.

initialize_2D_lissajous

Initialize a 2D Lissajous trajectory.

initialize_2D_polar_lissajous

Initialize a 2D polar Lissajous trajectory.

initialize_2D_propeller

Initialize a 2D PROPELLER trajectory, as proposed in [Pip99].

initialize_2D_radial

Initialize a 2D radial trajectory.

initialize_2D_random_walk

Initialize a 2D random walk trajectory.

initialize_2D_rings

Initialize a 2D ring trajectory, as proposed in [HHN08].

initialize_2D_rosette

Initialize a 2D rosette trajectory.

initialize_2D_sinusoide

Initialize a 2D sinusoide trajectory.

initialize_2D_spiral

Initialize a 2D algebraic spiral trajectory.

initialize_2D_travelling_salesman

Initialize a 2D trajectory using a Travelling Salesman Problem (TSP)-based path.

initialize_2D_vds_spiral

Initialize a 2D variable density spiral (VDS) trajectory.

initialize_2D_waves

Initialize a 2D waves trajectory.

initialize_3D_annular_shells

Initialize 3D trajectories with annular shells.

initialize_3D_cones

Initialize 3D trajectories with cones.

initialize_3D_eccentric

Initialize a 3D ECCENTRIC trajectory.

initialize_3D_floret

Initialize 3D trajectories with FLORET.

initialize_3D_golden_means_radial

Initialize 3D radial trajectories with golden means-based structure.

initialize_3D_helical_shells

Initialize 3D trajectories with helical shells.

initialize_3D_park_radial

Initialize 3D radial trajectories with a spiral structure.

initialize_3D_phyllotaxis_radial

Initialize 3D radial trajectories with phyllotactic structure.

initialize_3D_random_walk

Initialize a 3D random walk trajectory.

initialize_3D_repi

Initialize 3D REPI trajectory.

initialize_3D_seiffert_shells

Initialize 3D trajectories with Seiffert shells.

initialize_3D_seiffert_spiral

Initialize 3D trajectories with modulated Seiffert spirals.

initialize_3D_travelling_salesman

Initialize a 3D trajectory using a Travelling Salesman Problem (TSP)-based path.

initialize_3D_turbine

Initialize 3D TURBINE trajectory.

initialize_3D_wave_caipi

Initialize 3D trajectories with Wave-CAIPI.

initialize_3D_wong_radial

Initialize 3D radial trajectories with a spiral structure.

conify

Distort 2D or 3D trajectories into cones along the \(k_z\)-axis.

duplicate_along_axes

Duplicate a trajectory along the specified axes.

epify

Create multi-readout shots from trajectory composed of single-readouts.

get_grappa_caipi_positions

Generate a Cartesian k-space sampling mask for GRAPPA with optional CAIPI shifts.

get_packing_spacing_positions

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

get_random_loc_1d

Get slice index at a random position.

oversample

Resample a trajectory to increase the number of samples using interpolation.

precess

Rotate trajectories as a precession around the \(k_z\)-axis.

prewind

Add pre-winding/positioning to the trajectory.

radialize_center

Radialize a trajectory.

rewind

Add rewinding to the trajectory.

rotate

Rotate 2D or 3D trajectories over the different axes.

shellify

Stack 2D or 3D trajectories over the \(k_z\)-axis to make a sphere.

stack

Stack 2D or 3D trajectories over the \(k_z\)-axis.

stack_random

Stack a 2D trajectory with random location.

stack_spherically

Stack 2D or 3D trajectories over the \(k_z\)-axis to make a sphere.

unepify

Recover single-readout shots from multi-readout trajectory.

check_hardware_constraints

Check if a trajectory satisfies the gradient hardware constraints.

compute_gradients_and_slew_rates

Compute the gradients and slew rates from a normalized trajectory.

connect_gradient

Get the gradient connections for a set of start and end points.

convert_gradients_to_slew_rates

Derive the gradients over time to provide slew rates.

convert_gradients_to_trajectory

Integrate gradients over time to provide a normalized trajectory.

convert_slew_rates_to_gradients

Integrate slew rates over time to provide gradients.

convert_trajectory_to_gradients

Derive a normalized trajectory over time to provide gradients.

create_chauffert_density

Create a density based on Chauffert's method.

create_cutoff_decay_density

Create a density with central plateau and polynomial decay.

create_energy_density

Create a density based on energy in the Fourier spectrum.

create_fast_chauffert_density

Create a density based on an approximated Chauffert method.

create_polynomial_density

Create a density with polynomial decay from the center.

get_prephasors_and_spoilers

Get the prephasors and spoiler gradients for a trajectory.

initialize_algebraic_spiral

Initialize the algebraic spiral type.

initialize_shape_norm

Initialize the norm for a given shape.

initialize_tilt

Initialize the tilt angle.

min_length_connection

Get the minimum length of gradient connection for a trajectory.

normalize_trajectory

Normalize an un-normalized/natural trajectory for NUFFT use.

parameterize_by_arc_length

Adjust the trajectory to have a uniform distribution over the arc-length.

patch_center_anomaly

Re-position samples to avoid center anomalies.

project_trajectory

Projects the trajectory onto hardware constraint set.

sample_from_density

Sample points based on a given density distribution.

unnormalize_trajectory

Un-normalize a NUFFT-normalized trajectory.

Classes

Acquisition

Acquisition configuration for MRI sequences.

FloatEnum

An Enum for float that is case insensitive for ist attributes.

Gammas

Enumerate gyromagnetic ratios for common nuclei in MR.

GradientLinearProjection

Implements the gradient of F(q1, q2) given by Eq 11 in_[Proj].

GroupL2SoftThresholding

Group L2 Soft Thresholding (Shrinkage) Operator.

Hardware

Hardware configuration for MRI sequences.

NormShapes

Enumerate shape norms.

Packings

Enumerate available packing method for shots.

SiemensGradient

Common hardware configurations for Siemens MRI systems.

Spirals

Enumerate algebraic spiral types.

StrEnum

An Enum for str that is case insensitive for its attributes.

Tilts

Enumerate available tilts.

VDSorder

Available ordering for variable density sampling.

VDSpdf

Available law for variable density sampling.