Note
Go to the end to download the full example code.
2D spiral gradient echo#
A spoiled low-flip-angle excitation is followed by one spiral interleaf. Gradient and RF spoiling suppress residual transverse coherence between repetitions. TR and flip angle primarily determine T1 weighting; off-resonance and T2* decay affect the spiral readout. Spiral SPGR supports rapid dynamic and structural imaging.
Constant-density spiral#
Sixteen interleaves at a constant pitch, which sample the disc at the Nyquist spacing.
import pypulseqpp as pp
from pypulseqpp.sequences import gre_spiral2D_sequence
baseline = gre_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")
80 blocks, 0.24 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#
density='dual' preserves the Nyquist spacing near the origin and
increases the pitch at larger radii. The shorter readout requires a
reconstruction that accounts for peripheral undersampling.
alternative = gre_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 80 0.24 16
dual density 80 0.19 16
pp.plot.plot_kspace(alternative, color_by="shot", plane="xy")

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