OffResonanceSaturation

OffResonanceSaturation#

class pypulseqpp.sequences.OffResonanceSaturation[source]#

Bases: RfModule

Repeat 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_pulses is 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:

../_images/pypulseqpp-sequences-OffResonanceSaturation-1_00.svg

(svg)#

../_images/pypulseqpp-sequences-OffResonanceSaturation-1_01.svg

(svg)#

Methods

init_module

Build the module's block layout; implemented by the subclass.

publish

Publish events from the caller's locals and register keyword aliases.

register

Publish named events without requiring prior block registration.

sim_rf

Simulate this module's pulse across off-resonance.

Attributes

blocks

Return block tuples in play order, retaining the original event objects.

duration

Duration of the module in seconds.

seq

Sequence holding the module's construction-time block layout.