3D stack-of-stars MPRAGE#
- Family:
MPRAGE
- Dimensionality:
3D, slab-selective
- Sampling:
Radial in-plane, Cartesian partitions
- Readout:
One inversion per shot, followed by the radial spokes of one partition as a spoiled gradient-echo train
3D MPRAGE on a stack of stars: one inversion per partition, then its spokes.
Each shot applies one inversion and then acquires every sampled in- plane view of a single partition, so the partition encode is constant within a shot and the number of shots equals the number of sampled partitions. The inversion time is measured from the centre of the inversion pulse to the centre of the first excitation of the train, and the repetition time is the interval between successive inversions.
Prescription#
- pypulseqpp.sequences.mprage_stack_of_stars3D_sequence()#
3D MPRAGE on a stack of stars: one inversion per partition, then its spokes.
Each shot is the inversion, a wait that puts the first spoke’s excitation centre at TI, one
RadialStackReadoutrepetition per spoke of one partition, and a recovery that makes every inversion-to-inversion interval the TR. Partitions are played in order. The Nyquist set isceil(pi / 2 * n)spokes spread evenly over half a turn, and everyry-th of them is played in a golden order (golden_order()), so a train binned in time still covers the half turn; one spoke waveform serves every repetition, turned by a rotation extension. Acquisitions carry the spoke asLIN, the partition asPARand the place in the train asECO; under partition undersampling the centraln_acs_zpartitions are acquired too, markedIMA.- Parameters:
plot (bool, default=False) – Draw the finished sequence in SeqEyes.
test_report (bool, default=False) – Print a report on the finished sequence.
write_seq (bool, default=False) – Write the sequence to a .seq file.
seq_filename (str, default=None) – Where to write it;
<NAME>.seqwhen omitted.system (pypulseqpp.Opts, default=None) – System limits, held under the application’s
MAX_GRADandMAX_SLEW.fov (float, default=0.256) – Isotropic in-plane field of view (m).
n (int, default=256) – In-plane matrix size; a spoke reads it edge to edge.
fov_z (float, default=0.176) – Field of view along the partitions (m). The slab excited is
fov_zthick.n_z (int, default=176) – Number of partitions.
flip_angle_deg (float, default=9.0) – Readout excitation flip angle (degrees).
te (float | None, default=None) – Echo time to the spoke’s centre crossing (s).
Noneis as short as possible.esp (float | None, default=None) – Spacing of successive spoke excitations (s).
Noneis as short as the readout admits.ti (float | None, default=0.9) – Inversion time (s), from the inversion pulse’s centre to the first spoke’s excitation.
Noneis as short as the inversion module admits.tr (float | None, default=2.3) – Inversion-to-inversion interval (s).
Noneleaves one raster of recovery after the train.readout_bandwidth_hz (float, default=250000.0) – Requested receiver bandwidth (Hz).
ry (int, default=1) – Angular undersampling: one spoke in every
ryof the Nyquist set is played.rz (int, default=1) – Partition undersampling: one partition in every
rzis acquired, the centre one among them.partial_fourier_z (float, default=1.0) – Fraction of the partition extent acquired, in
[0.75, 1].n_dummy (int, default=1) – Whole shots played without acquiring before the first.
excitation ({'slab', 'nonselective', 'spsp'}, default='slab') – A slab-selective SLR pulse, a hard pulse, or a slab- and water-selective spectral-spatial pulse.
partition_angle_shift ({'none', 'golden', 'tiny_golden'}, default='golden') – How far each partition turns the spokes past the previous one, as
PARTITION_SHIFTSnames the fractions of a half turn.n_acs_z (int, default=16) – Fully sampled calibration partitions at the centre, acquired when
rz > 1.readout_oversampling (float, default=2.0) – Readout oversampling factor, at least one.
navigator (bool, default=False) – Play three-plane spiral navigators in the recovery after each shot, as many as it holds up to
NAVIGATOR_COUNT.
- Returns:
The designed sequence.
- Return type:
- Raises:
ValueError – If
excitationorpartition_angle_shiftis unknown, an undersampling factor is below one,partial_fourier_zis outside[0.75, 1], or the TE, the spacing, the TI or the TR is shorter than the shot takes.
Examples
>>> from pypulseqpp import sequences >>> seq = sequences.mprage_stack_of_stars3D_sequence( ... n=32, n_z=4, ti=100e-3, tr=500e-3 ... ) >>> seq.check_timing()[0] True
Designed and drawn#
See also#
Other mprage sequences: mprage3D_sequence, mprage_stack_of_spirals3D_sequence.
The same sampling in another family: gre_stack_of_stars3D_sequence, se_stack_of_stars3D_sequence.
Every shipped sequence is listed in the catalogue.