make_bloch_siegert_pulse#
- pypulseqpp.make_bloch_siegert_pulse()[source]#
Design an adiabatic Bloch-Siegert encoding pulse.
Constant amplitude, its frequency swept from far off resonance towards it and back, symmetric about the centre. Longitudinal magnetisation stays along z; transverse magnetisation gains a phase proportional to the square of its B1 (Khalighi, Rutt and Kerr, Magn Reson Med 70:829, 2013). Playing the sweep on either side of resonance and differencing the phases maps B1.
durationis rounded to an even number of RF samples.- Parameters:
amplitude (float) – RF amplitude where B1 is nominal, in T.
duration (float) – In s.
k (float, default=42.0) – Sweep shape:
gamma B1 t / k, withgamma B1in rad/s, must stay below one over half the pulse; a largerkkeeps the sweep further from resonance.frequency_sign ({1, -1}, default=1) – Which side of resonance the sweep runs on; the phase changes sign with it.
- Returns:
The pulse.
- Return type:
RfEvent
- Raises:
ValueError – If the sweep would reach resonance within the pulse.