make_ptx_pulse#
- pypulseqpp.make_ptx_pulse()[source]#
Make a dynamic pTx pulse from one waveform per transmit channel.
The channels are stored one after another in a single arbitrary RF event over a shared time base, so the time shape restarts once per channel (Roos et al., Magn Reson Med 2025, doi:10.1002/mrm.30601).
shape_duris one channel’s duration, so an interpreter unaware of the layout still reads the right pulse length.Parameters not listed below are as in
make_arbitrary_rf().- Parameters:
signal (array_like) – Complex waveforms,
(num_channels, num_samples), in Hz. Played as given: nothing is scaled to a flip angle, since with several channels the flip depends on each channel’s B1 map.dwell (float, default=0.0) – Sample spacing, in s;
system.rf_raster_timewhen zero.center (float, default=None) – Centre of the pulse from its start, in s. Defaults to the peak of the root-sum-square of the channels’ magnitudes, as
calc_rf_center()finds a peak.
- Returns:
The pulse;
shape_durisnum_samples * dwell.- Return type:
RfEvent
- Raises:
ValueError – If
signalis not two-dimensional or holds no samples.
Examples
>>> import numpy as np >>> import pypulseqpp as pp >>> rf = pp.make_ptx_pulse(np.full((8, 100), 250.0 + 0j)) >>> pp.split_ptx_pulse(rf).shape (8, 100)