make_spsp_pulse#
- pulserver.blocks.make_spsp_pulse(system, flip_angle, slice_thickness, spectral_band_edges='water', freq_offset=None, spatial_time_bw_product=4.0, spatial_ripples=(0.01, 0.01), spatial_filter_type='ls', spectral_ripples=(0.02, 0.005), spectral_filter_type='min', use='excitation', verbose=False, plot=False)[source]#
Design a spectral-spatial RF pulse.
This function designs a pulse for simultaneous spatial and spectral selectivity, such as used in MR imaging or spectroscopy sequences. The function returns the gradient and RF waveforms necessary to create the specified spectral-spatial pulse.
- Parameters:
system (Opts) – System limits.
flip_angle (float | Iterable[float]) – Flip angle specification for each spectral band, in
[deg]
. For water selective pulses (spectral_band_edges="water"
), if the user provides a scalar, we assume that the flip angle refers to water and fat flip angle is0.0 [deg]
.slice_thickness (float) – Thickness of the slice in
[mm]
.spectral_band_edges (Iterable[float] | str, optional) – Frequency band edge specification in
[Hz]
. Can also be a string (e.g.,"water"
), in which case a water-selective pulse is designed and the spectral band is set according to theB0
value.freq_offset (float | None, optional) – Frequency offset in Hertz (Hz).
use (str, optional) – Use of radio-frequency pulse. Must be one of
"excitation"
(default),"refocusing"
or"inversion"
.spatial_time_bw_product (float) – Time-bandwidth product for the spatial dimension.
spatial_ripples (Iterable[float]) – Spatial passband and stopband ripples, in the form
(pass_ripple, stop_ripple)
.spatial_filter_type (str, optional) – Type of filter for the spatial dimension:
"ms"
,"ls"
(default),"pm"
,"min"
,"max"
.spectral_ripples (Iterable[float]) – Spectral passband and stopband ripples.
spectral_filter_type (str, optional) – Type of filter for the spectral dimension:
"min"
(default),"max"
,"lin"
.verbose (bool, optional) – If
True
, print debug messages. Default isFalse
.plot (bool)
- Returns:
rf_block – Dictionary with the following keys:
- rfSimpleNamespace
Radio-frequency block pulse event.
- gzSimpleNamespace
Slice (or slab) selection event, including (hopefully!) the rephasing lobe.
- Return type:
dict
- Raises:
ValueError – If invalid
use
parameter was passed. Must be one of"excitation"
,"refocusing"
or"inversion"
.