2D Cartesian spin echo

2D Cartesian spin echo#

Family:

Spin echo

Dimensionality:

2D, multi-slice

Sampling:

Cartesian

Readout:

One phase-encode line per excitation, read at a refocused echo

Multi-slice 2D Cartesian spin echo: one line per excitation.

Prescription#

pypulseqpp.sequences.se2D_sequence()#

Multi-slice 2D Cartesian spin echo: one line per excitation.

A slice-selective SLR 90, one slice-selective SLR 180 between crushers half a TE later, and one frequency-encoded line at the echo. Both pulses are offset to the slice, each at its own selection gradient. Slices are dealt into packets, and ordered within one, as gre2D_sequence deals them; under undersampling the calibration lines are acquired first.

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_x (float, default=0.22) – Field of view along the readout and the phase encode (m).

  • fov_y (float, default=0.22) – Field of view along the readout and the phase encode (m).

  • n_x (int, default=128) – Readout matrix size.

  • n_y (int, default=128) – Phase-encode 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.

  • te (float | None, default=0.015) – Echo time (s), excitation centre to echo, with the refocusing pulse at its midpoint. None is as short as possible.

  • tr (float | None, default=0.5) – 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) – Phase-encode undersampling: one line in every ry is acquired, the centre line among them.

  • partial_fourier_x (float, default=1.0) – Fraction of the echo acquired, in [0.75, 1].

  • partial_fourier_y (float, default=1.0) – Fraction of the phase-encode extent acquired, in [0.75, 1].

  • n_dummy (int, default=0) – Non-acquiring repetitions before the first line of each packet.

  • readout_oversampling (float, default=2.0) – Readout oversampling factor, at least one.

  • n_acs_y (int, default=24) – Fully sampled calibration lines at the centre of k-space, acquired ahead of the rest when ry > 1.

Returns:

The designed sequence.

Return type:

pypulseqpp.Sequence

Raises:

ValueError – If a partial Fourier fraction is outside [0.75, 1], ry is below one, or the TE or TR is shorter than the pulses and the readout take.

Examples

>>> from pypulseqpp import sequences
>>> seq = sequences.se2D_sequence(n_x=32, n_y=16, te=15e-3, tr=None)
>>> seq.check_timing()[0]
True

Designed and drawn#

2D Cartesian spin echo

2D Cartesian spin echo

See also#

Other spin echo sequences: se3D_sequence, se_radial2D_sequence, se_stack_of_stars3D_sequence, se_spiral2D_sequence, se_stack_of_spirals3D_sequence, se_propeller2D_sequence, se_epi_propeller2D_sequence, se_stack_of_blades3D_sequence.

The same sampling in another family: gre2D_sequence, gre3D_sequence, gre_multiecho2D_sequence, gre_multiecho3D_sequence, fse3D_sequence, mprage3D_sequence, bssfp2D_sequence, bssfp3D_sequence, epi2D_sequence.

Every shipped sequence is listed in the catalogue.