make_slr_pulse

Contents

make_slr_pulse#

pulserver.blocks.make_slr_pulse(system, flip_angle, slice_thickness, duration=0.004, freq_offset=0, n_bands=1, slice_sep=2, use='excitation', time_bw_product=4.0, ripples=(0.01, 0.01), filter_type='ls', center_pos=0.5, cancel_alpha_phs=False, phs_0_pt=None, plot=False)[source]#

Creates a radio-frequency SLR pulse event using the sigpy rf pulse library. Also design the accompanying slice/slab select and slice/slab rephasing trapezoidal gradient events.

Parameters:
  • system (Opts) – System limits.

  • flip_angle (float) – Flip angle in degrees.

  • slice_thickness (float) – Slice thickness in (mm) of accompanying slice select trapezoidal event. The slice thickness determines the area of the slice select event.

  • duration (float, optional) – Duration in seconds (s). The default is 4e-3.

  • freq_offset (float, optional) – Frequency offset in Hertz (Hz). The default is 0.

  • n_bands (int, optional) – Number of bands. The default is 1 (no SMS pulse).

  • slice_sep (float, optional) – Normalized slice separation. The default is 2. Ignored if n_bands=1.

  • use (str, optional) – Use of radio-frequency pulse. Must be one of "excitation" (default), "refocusing" or "inversion".

  • time_bw_product (float, optional) – Time-bandwidth product. The default is 4.'0.

  • ripples (Iterable[float]) – Passband and stopband ripples, in the form (pass_ripple, stop_ripple).

  • filter_type (str, optional) – Type of filter for the spatial dimension: "ms", "ls" (default), "pm", "min", "max".

  • center_pos (float, optional) – Relative position of rf peak. The default is 0.5 (midway).

  • cancel_alpha_phs (bool, optional) – For ‘excitation’ pulses, absorb the alpha phase profile from beta’s profile, so they cancel for a flatter total phase.

  • phs_0_pt (str, optional) – Set of phases to use for SMS pulse. Can be ‘phs_mod’ (Wong), "amp_mod" (Malik), "quad_mod" (Grissom), or None. The default is None.

  • plot (bool, optional) – Show sigpy plot outputs. The default is False.

Returns:

  • rf_block (dict) – Dictionary with the following keys:

    • rfSimpleNamespace

      Radio-frequency block pulse event.

    • gzSimpleNamespace

      Slice (or slab) selection event.

  • greph_block (dict) – Dictionary with the following keys:

    • gzSimpleNamespace

      Slice (or slab) rephasing event.

Raises:

ValueError – If invalid use parameter was passed. Must be one of ‘excitation’, ‘refocusing’ or ‘inversion’. If return_gz=True and slice_thickness was not provided.

Return type:

tuple[dict, dict]