Note
Go to the end to download the full example code.
3D Cartesian multi-echo gradient echo#
A slab-selective spoiled excitation is followed by several gradient echoes of
one Cartesian (line, partition) view. Gradient and RF spoiling suppress
residual transverse coherence between repetitions. The multiple echo times
sample T2* decay; TR and flip angle determine the T1 weighting. Applications
include high-resolution structural imaging, R2* mapping, and QSM.
Fully sampled acquisition#
Four echoes per excitation, over every (line, partition) view inside
the ellipse inscribed in the phase-encode plane.
import pypulseqpp as pp
from pypulseqpp.sequences import gre_multiecho3D_sequence
baseline = gre_multiecho3D_sequence(
n_x=160, n_y=160, n_z=32, n_echoes=4, tr=None, n_dummy=0
)
print(f"{baseline.num_blocks} blocks, {baseline.duration()[0]:.2f} s")
39950 blocks, 52.89 s
Sequence diagram#

Sampling order#
Colour encodes acquisition order in the phase-encode plane.
pp.plot.plot_kspace(baseline, color_by="order", plane="yz", show_trajectory=False)

Acceleration on both encoded axes#
Subsampling both phase-encode axes reduces the number of repetitions. The complete echo train remains within each retained repetition.
alternative = gre_multiecho3D_sequence(
n_x=160, n_y=160, n_z=32, n_echoes=4, ry=2, rz=2, tr=None, n_dummy=0
)
blocks duration (s) acquisitions
full 39950 52.89 15980
2 x 2 12790 16.93 5116
pp.plot.plot_kspace(alternative, color_by="order", plane="yz", show_trajectory=False)

Total running time of the script: (2 minutes 58.615 seconds)