2D Cartesian spin echo#

Open in Colab

A slice-selective excitation and 180-degree refocusing pulse form one spin echo, followed by a Cartesian readout. Spoilers suppress unwanted coherence before the next TR. TE controls T2 weighting and TR controls longitudinal recovery. Spin echo is used for conventional T1-, T2-, and proton-density-weighted structural imaging.

Fully sampled acquisition#

Every phase-encode line of one slice is acquired, at the minimum echo time permitted by the RF pulse and readout durations.

import pypulseqpp as pp
from pypulseqpp.sequences import se2D_sequence

baseline = se2D_sequence(n_x=192, n_y=192, n_slices=1, te=None, tr=None, n_dummy=0)
print(f"{baseline.num_blocks} blocks, {baseline.duration()[0]:.2f} s")
print(
    f"TE {baseline.get_definition('TE')[0] * 1e3:.2f} ms, "
    f"TR {baseline.get_definition('TR')[0] * 1e3:.2f} ms"
)
1536 blocks, 3.59 s
TE 13.16 ms, TR 18.68 ms

Sequence diagram#

se2D sequence

Sampling order#

Colour encodes phase-encode line acquisition order.

pp.plot.plot_kspace(baseline, color_by="order", plane="xy", show_trajectory=False)
se2D sequence

Partial Fourier#

partial_fourier_y omits high-spatial-frequency lines on one side of k-space. Partial-Fourier reconstruction uses conjugate symmetry and requires a phase estimate; the reduced acquisition time is accompanied by an SNR penalty.

alternative = se2D_sequence(
    n_x=192, n_y=192, n_slices=1, partial_fourier_y=0.75, te=None, tr=None, n_dummy=0
)
                   blocks  duration (s)  acquisitions
full                 1536          3.59           192
6/8 along y          1152          2.69           144
pp.plot.plot_kspace(alternative, color_by="order", plane="xy", show_trajectory=False)
se2D sequence

Total running time of the script: (0 minutes 2.287 seconds)

Gallery generated by Sphinx-Gallery