Note
Go to the end to download the full example code.
2D spiral spin echo#
A slice-selective excitation and 180-degree refocusing pulse form one spin echo, followed by a spiral interleaf. Spoilers suppress unwanted coherence before the next TR. TE controls T2 weighting; off-resonance affects the spiral readout. Spiral spin echo supports rapid T2-weighted structural imaging.
Constant-density spiral#
Sixteen interleaves at a constant pitch.
import pypulseqpp as pp
from pypulseqpp.sequences import se_spiral2D_sequence
baseline = se_spiral2D_sequence(
n=192, n_shots=16, n_slices=1, te=None, tr=None, n_dummy=0
)
print(f"{baseline.num_blocks} blocks, {baseline.duration()[0]:.2f} s")
112 blocks, 0.40 s
Sequence diagram#

Sampling order#
Each interleaf is the same spiral gradient waveform, rotated to its own angle by a rotation extension.
pp.plot.plot_kspace(baseline, color_by="shot", plane="xy")

Variable density#
A dual-density interleaf retains the Nyquist spacing near the origin and increases the pitch at larger radii, reducing the readout duration.
alternative = se_spiral2D_sequence(
n=192,
n_shots=16,
n_slices=1,
density="dual",
periphery_undersampling=2.0,
te=None,
tr=None,
n_dummy=0,
)
blocks duration (s) acquisitions
constant 112 0.40 16
dual density 112 0.35 16
pp.plot.plot_kspace(alternative, color_by="shot", plane="xy")

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