make_b1_hadamard_pulse

make_b1_hadamard_pulse#

pypulseqpp.make_b1_hadamard_pulse()[source]#

Design a B1-selective pulse whose B1 sub-bands are signed by a Hadamard row.

The B1 counterpart of make_hadamard_pulse(): rows are those of scipy.linalg.hadamard(order), sub-bands are counted from the lowest B1, and row 0 is the plain band.

Parameters not listed below are as in make_slr_pulse().

Parameters:
  • amplitude (float) – RF amplitude the pulse plays at, in T: where B1 is nominal.

  • passband_center (float, default=1.0) – The band of B1 selected, relative to amplitude. The pulse lasts about twice time_bw_product over the width in Hz.

  • passband_width (float, default=1.0) – The band of B1 selected, relative to amplitude. The pulse lasts about twice time_bw_product over the width in Hz.

  • pulse_type ({'st', 'ex', 'se', 'inv', 'sat'}, default='st') – Only maps the ripples onto the filter, as in make_slr_pulse(); the flip is flip_angle.

  • split_and_reflect (bool, default=True) – Split the sweep and reflect it about the pulse’s centre, which keeps the selectivity at large tip.

Returns:

The pulse.

Return type:

RfEvent

Raises:

ValueError – If order is not a power of two, row is out of range, the passband reaches zero B1, or the sub-bands are no wider than their transitions.