2D spiral gradient echo#

Family:

Gradient echo

Dimensionality:

2D, multi-slice

Sampling:

Spiral

Readout:

One interleaf per repetition, RF-spoiled

RF-spoiled, multi-slice 2D spiral gradient echo: one interleaf per repetition.

Prescription#

pypulseqpp.sequences.gre_spiral2D_sequence()#

RF-spoiled, multi-slice 2D spiral gradient echo: one interleaf per repetition.

One solved outward interleaf is turned per shot by a rotation extension. n_shots interleaves, spread evenly over a full turn, sample the centre of k-space at Nyquist; every ry-th of them is played, in order. Slices are dealt into packets, and ordered within one, as gre2D_sequence deals them. Every acquisition carries its interleaf as LIN and its slice as SLC.

Parameters:
  • plot (bool, default=False) – Draw the finished sequence in SeqEyes.

  • test_report (bool, default=False) – Print a report on the finished sequence.

  • write_seq (bool, default=False) – Write the sequence to a .seq file.

  • seq_filename (str, default=None) – Where to write it; <NAME>.seq when omitted.

  • system (pypulseqpp.Opts, default=None) – System limits, held under the application’s MAX_GRAD and MAX_SLEW.

  • fov (float, default=0.22) – Isotropic in-plane field of view (m).

  • n (int, default=128) – In-plane matrix size.

  • n_slices (int, default=1) – Number of slices.

  • slice_thickness (float, default=0.005) – Slice thickness (m).

  • slice_spacing (float, default=0.0) – Gap between adjacent slices (m); zero is contiguous.

  • flip_angle_deg (float, default=12.0) – Excitation flip angle (degrees).

  • te (float | None, default=None) – Echo time to the start of the outward path (s). None is as short as possible.

  • tr (float | None, default=0.02) – Repetition time between successive excitations of one slice (s). None is as short as possible, and puts every slice in one packet.

  • readout_bandwidth_hz (float, default=250000.0) – Requested receiver bandwidth (Hz).

  • ry (int, default=1) – Angular undersampling: one interleaf in every ry of the n_shots is played.

  • n_dummy (int, default=16) – Non-acquiring repetitions, at the first interleaf’s angle, before each packet.

  • n_shots (int, default=16) – Interleaves that sample the centre of k-space at Nyquist.

  • density ({'constant', 'variable', 'dual'}, default='constant') – Constant pitch, a radial power-law transition to the periphery, or a logistic one.

  • periphery_undersampling (float, default=2.0) – How much sparser the periphery is sampled than the centre, at least one. Unused at constant density.

  • transition_speed (float, default=12.0) – Steepness of the dual-density transition.

Returns:

The designed sequence.

Return type:

pypulseqpp.Sequence

Raises:

ValueError – If density is unknown, ry or periphery_undersampling is below one, or the TR cannot hold one slice.

Examples

>>> from pypulseqpp import sequences
>>> seq = sequences.gre_spiral2D_sequence(n=32, n_shots=4, tr=None)
>>> seq.check_timing()[0]
True

Designed and drawn#

2D spiral gradient echo

2D spiral gradient echo

See also#

Other gradient echo sequences: gre2D_sequence, gre3D_sequence, gre_multiecho2D_sequence, gre_multiecho3D_sequence, gre_radial2D_sequence, gre_stack_of_stars3D_sequence, gre_stack_of_spirals3D_sequence, gre_propeller2D_sequence, gre_stack_of_blades3D_sequence.

The same sampling in another family: se_spiral2D_sequence.

Every shipped sequence is listed in the catalogue.