SpiralNavigator#
- class pypulseqpp.sequences.SpiralNavigator[source]#
Bases:
SequenceModuleThree orthogonal thick-slab spiral navigators.
Reuses one excitation and readout under axial, sagittal and coronal rotations. ADC blocks carry NAV labels. Navigator excitations perturb the host sequence’s longitudinal magnetisation; choose flip angle and repetition count accordingly.
- Parameters:
system (pypulseqpp.Opts) – System limits.
fov (float, default=0.32) – In-plane field of view (m). Wide enough to contain the head.
matrix (int, default=32) – Acquired in-plane matrix. Coarse on purpose.
thickness_m (float, default=0.01) – Slab thickness (m).
flip_angle_deg (float, default=8.0) – Nominal flip angle (degrees). See above.
duration_s (float, default=0.001) – Excitation pulse duration (s).
readout_bandwidth_hz (float, default=250000.0) – Requested sample spacing along the arm.
navigator_tr (float, default=None) – Repetition time of one three-plane navigator (s).
Nonepacks the planes back to back. A longer one leaves room for the reconstruction and the pose estimate to come back before the next navigator.spoiling_cycles (float, default=4.0) – Spoiler moment at the end of each plane, in cycles across the slab.
- Attributes:
excitation (SpatialSelectiveExcitation) – The pulse every plane is opened by.
readout (SpiralReadout2D) – The designed interleaf every plane plays.
rotations (dict) – The rotation carried by each plane’s blocks, keyed by plane name.
plane_duration (float) – Length of one plane (s).
Examples
The three planes are one designed arm under three rotations, so the module stores one waveform regardless of the number of planes played:
>>> import pypulseqpp.sequences as design >>> import pypulseqpp as pp >>> system = pp.Opts(max_grad=40, grad_unit="mT/m", ... max_slew=150, slew_unit="T/m/s") >>> navigator = design.SpiralNavigator(system) >>> sorted(navigator.rotations) ['axial', 'coronal', 'sagittal'] >>> navigator.readout.adc.num_samples > 0 True
The navigator repetition, and the spiral its ADC event samples:
Methods
Return the navigator count that fits a time window. |
|
Build the module's block layout; implemented by the subclass. |
|
Publish events from the caller's locals and register keyword aliases. |
|
Publish named events without requiring prior block registration. |
Attributes