make_recursive_slr_pulses#
- pypulseqpp.make_recursive_slr_pulses()[source]#
Design SLR pulses that each excite the same transverse magnetisation.
For non-recovering (e.g. hyperpolarised) magnetisation: flips grow along the train to 90 degrees at the last pulse. With
use_mzeach pulse is designed against the longitudinal profile the earlier ones left, so the slice profile also holds across segments (SigPy’sdz_recursive_rf). The pulses are large-tip designs, played at their designed amplitude.Parameters not listed below are as in
make_slr_pulse().- Parameters:
n_segments (int) – Pulses in the train.
duration (float, default=DEFAULT_DURATION) – Of each pulse, in s. The SLR core, to which
time_bw_productandrefocusing_tbwrefer, spans aboutduration / 1.75; a Blackman taper fills the rest.spin_echo (bool, default=False) – Design for a spin-echo segment, whose refocusing pulse is returned too.
refocusing_tbw (float, default=8.0) – Time-bandwidth product of that refocusing pulse.
t1 (float, default=math.inf) – Longitudinal relaxation time and the time between pulses, in s;
t1=infis no recovery.segment_tr (float, default=0.06) – Longitudinal relaxation time and the time between pulses, in s;
t1=infis no recovery.use_mz (bool, default=True) – Design each pulse against the profile the earlier ones left.
return_gz (bool, default=False) – Return each pulse with its selection gradient and rephaser, as
make_slr_pulse()does.
- Returns:
pulses (tuple) – One RF event per segment, or
(rf, gz, gzr)per segment underreturn_gz.refocusing (SimpleNamespace or tuple) – Only with
spin_echo: the refocusing pulse, in the same form.
- Raises:
ValueError – If
n_segmentsis below one, orreturn_gzis asked for without a positiveslice_thickness.