NonSelectiveExcitation

NonSelectiveExcitation#

class pypulseqpp.sequences.NonSelectiveExcitation[source]#

Bases: RfModule

Rectangular RF excitation without a selection gradient.

Parameters:
  • system (pypulseqpp.Opts) – System limits.

  • flip_angle_deg (float, default=10.0) – Nominal flip angle (degrees).

  • duration_s (float, default=0.001) – Pulse duration (s); spectral width scales inversely with duration.

  • use (str, default='excitation') – Pulseq use tag. Undefined pulses are treated as excitations by k-space analysis.

  • freq_offset_hz (float, default=0.0) – Transmit offsets designed into the pulse. A scan loop moves module.rf.freq_offset and module.rf.phase_offset per shot instead of rebuilding the module.

  • phase_offset_rad (float, default=0.0) – Transmit offsets designed into the pulse. A scan loop moves module.rf.freq_offset and module.rf.phase_offset per shot instead of rebuilding the module.

Attributes:

rf (RfEvent) – The pulse.

Examples

>>> import pypulseqpp.sequences as design
>>> import pypulseqpp as pp
>>> excitation = design.NonSelectiveExcitation(pp.Opts(), flip_angle_deg=10.0)
>>> round(excitation.center * 1e6)
500

Without a gradient the only selectivity is in frequency, and the profile is the transform of a rectangle:

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

(svg)#

../_images/pypulseqpp-sequences-NonSelectiveExcitation-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.