make_block_pulse

make_block_pulse#

pypulseqpp.make_block_pulse()[source]#

Create a block (RECT or hard) pulse.

Define duration, or bandwidth, or bandwidth and time_bw_product. If none are provided a default 4 ms pulse will be generated.

Parameters:
  • flip_angle (float) – Flip angle in radians.

  • delay (float, default=0) – Delay in seconds (s).

  • duration (float, default=None) – Duration in seconds (s).

  • bandwidth (float, default=None) – Bandwidth in Hertz (Hz). If supplied without time_bw_product duration = 1 / (4 * bandwidth)

  • time_bw_product (float, default=None) – Time-bandwidth product. If supplied with bandwidth, duration = time_bw_product / bandwidth

  • freq_offset (float, default=0) – Frequency offset in Hertz (Hz).

  • phase_offset (float, default=0) – Phase offset Hertz (Hz).

  • system (Opts, default=Opts()) – System limits.

  • use (str, default='undefined') – Use of radio-frequency block pulse event. Must be one of ‘excitation’, ‘refocusing’, ‘inversion’, ‘saturation’, ‘preparation’, ‘other’, ‘undefined’.

  • freq_ppm (float, default=0) – PPM frequency offset.

  • phase_ppm (float, default=0) – PPM phase offset.

Returns:

rf – Radio-frequency block pulse event.

Return type:

SimpleNamespace

Raises:

ValueError – If invalid use parameter is passed. One of bandwidth or duration must be defined, but not both. One of bandwidth or duration must be defined and be > 0.

Notes

This is PyPulseq’s factory; the event it builds is returned with its fields in slots.