OffResonanceSaturation#
- class pypulseqpp.sequences.OffResonanceSaturation[source]#
Bases:
RfModuleRepeat one off-resonance pulse, followed by an optional three-axis spoiler.
- Parameters:
system (Opts) – System limits.
rf_prep (RfEvent) – The pulse to play.
n_pulses (int, default=1) – Pulses in the train.
spoiling_cycles (float, default=4.0) – Dephasing of the final spoiler, in cycles across
voxel_size_m. Zero omits the spoiler, as required for a pulse used for its phase effect rather than for saturation.voxel_size_m (float, default=0.001) – Length the dephasing is counted over (m).
labels (Sequence[str], default=None) – Counters emitted on the first pulse’s block.
- Attributes:
rf_prep (RfEvent) – The pulse, published once however many times it is played.
gx_spoil, gy_spoil, gz_spoil (GradEvent) – The closing spoiler, when there is one.
prep_labels (LabelEvent | list[LabelEvent]) – One per name in
labels.
- Raises:
ValueError – If
n_pulsesis below one, or a spoiling argument is out of range.
Examples
>>> import numpy as np >>> import pypulseqpp.sequences as design >>> import pypulseqpp as pp >>> system = pp.Opts() >>> pulse = pp.make_gauss_pulse( ... flip_angle=np.deg2rad(500), duration=8e-3, freq_offset=-1500.0, ... use="saturation", system=system, ... ) >>> prep = design.OffResonanceSaturation(system, pulse, n_pulses=3) >>> len(prep.blocks) 4
>>> prep.blocks[0] == prep.blocks[1] == prep.blocks[2] True
Three pulses back to back, and the longitudinal magnetization they leave across the spectrum:
Methods
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. |
|
Simulate this module's pulse across off-resonance. |
Attributes