make_half_passages

make_half_passages#

pypulseqpp.make_half_passages()[source]#

Build the adiabatic half-passage pair that tips magnetization down and back.

down is the first half of a full adiabatic sweep (far off-resonance to on-resonance), taking +z to the transverse plane independently of B1 above the adiabatic threshold. up is down time-reversed and conjugated, so the phase accrued on the way down unwinds on the way up. Both play at their designed amplitude.

Parameters:
  • duration (float) – Duration of each half passage, in s.

  • adiabaticity (float, default=8) – Sweep-rate margin over the adiabatic condition. The default is twice an inversion’s, because a half passage has only half a sweep to converge in.

  • dwell (float, default=1e-05) – RF raster, in s.

  • pulse_type (str, default='hypsec') – Sweep family, as make_adiabatic_pulse() names them.

  • use (str, default='preparation') – Pulseq use tag.

  • system (Opts, default=None) – System limits.

Returns:

down, up

Return type:

SimpleNamespace

Examples

>>> import numpy as np
>>> import pypulseqpp as pp
>>> down, up = pp.make_half_passages(4e-3)
>>> bool(np.allclose(np.asarray(down.signal), np.conj(np.asarray(up.signal))[::-1]))
True