3D stack-of-stars MPRAGE

3D stack-of-stars MPRAGE#

Open in Colab

An inversion preparation is followed by a train of low-flip-angle spoiled radial gradient echoes with Cartesian partition encoding. Each spoke crosses in-plane k-space centre; spoke and partition order determine the recovery time of the acquired data within and between inversion cycles. Stack-of-stars MPRAGE provides T1-weighted 3D structural imaging with radial sampling.

Timing structure#

Each cycle comprises inversion, inversion delay, a spoke train at one partition and a recovery interval. ti=None and tr=None use the shortest timing supported by the modules. Angular undersampling leaves four spokes per partition and produces a compact timing diagram.

import pypulseqpp as pp
from pypulseqpp.sequences import mprage_stack_of_stars3D_sequence

compact = mprage_stack_of_stars3D_sequence(
    n=64, n_z=4, ry=32, ti=None, tr=None, n_dummy=0
)
print(
    f"{compact.num_blocks} blocks, {compact.duration()[0]:.2f} s, "
    f"TI {compact.get_definition('TI')[0] * 1e3:.0f} ms, "
    f"TR {compact.get_definition('TR')[0] * 1e3:.0f} ms"
)
80 blocks, 0.14 s, TI 7 ms, TR 35 ms
mprage stack of stars3D sequence

Sampling order#

Each inversion cycle acquires the spokes of one partition, so the cycle is constant along each row. Readout index specifies spoke order within the train. partition_angle_shift, 'golden' by default, rotates the spoke set between partitions so that neighbouring partitions do not share spoke angles. TI ends at the first excitation-pulse centre; the centre of k-space on its spoke is sampled at TI + TE.

protocol = mprage_stack_of_stars3D_sequence(
    n=192, n_z=16, ry=4, ti=0.9, tr=2.3, n_dummy=0
)
mprage stack of stars3D sequence

Trajectory#

The spokes of every partition, over the three k-space axes, coloured by shot.

pp.plot.plot_kspace(protocol, color_by="shot")
mprage stack of stars3D sequence

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

Gallery generated by Sphinx-Gallery