Note
Go to the end to download the full example code.
3D Cartesian spin echo#
A slab-selective excitation and 180-degree refocusing pulse form one spin echo,
followed by a Cartesian (line, partition) readout. Spoilers suppress
unwanted coherence before the next TR. TE and TR determine T2 and longitudinal
recovery weighting. 3D spin echo supports high-resolution structural imaging.
Fully sampled acquisition#
Every (line, partition) view inside the ellipse inscribed in the
phase-encode plane is acquired.
import pypulseqpp as pp
from pypulseqpp.sequences import se3D_sequence
baseline = se3D_sequence(n_x=160, n_y=160, n_z=32, te=None, tr=None, n_dummy=0)
print(f"{baseline.num_blocks} blocks, {baseline.duration()[0]:.2f} s")
31960 blocks, 53.45 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 lines and partitions by two each reduces the number of repetitions approximately fourfold outside the calibration region. Each acquired view has the prescribed echo time.
alternative = se3D_sequence(
n_x=160, n_y=160, n_z=32, ry=2, rz=2, te=None, tr=None, n_dummy=0
)
blocks duration (s) acquisitions
full 31960 53.45 3995
2 x 2 10232 17.11 1279
pp.plot.plot_kspace(alternative, color_by="order", plane="yz", show_trajectory=False)

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