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 theB0value.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
useparameter was passed. Must be one of"excitation","refocusing"or"inversion".