3D Cartesian gradient echo#
- Family:
Gradient echo
- Dimensionality:
3D, slab-selective
- Sampling:
Cartesian
- Readout:
One (line, partition) view per repetition, RF-spoiled
RF-spoiled 3D Cartesian gradient echo.
Prescription#
- pypulseqpp.sequences.gre3D_sequence()#
RF-spoiled 3D Cartesian gradient echo.
One line per repetition, phase-encoded along y and z over a CAIPIRINHA lattice that always contains the centre of k-space, optionally cropped to an ellipse. Under undersampling the fully sampled calibration region, a rectangle or an ellipse, leads, marked
IMA; under wave-CAIPI it is first acquired wave-free and markedREF. Lines are played in order, each line’s partitions one after another.- 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_x (float, default=0.22) – Field of view along the readout, the phase encode and the partition encode (m). The slab excited is
fov_zthick.fov_y (float, default=0.22) – Field of view along the readout, the phase encode and the partition encode (m). The slab excited is
fov_zthick.fov_z (float, default=0.128) – Field of view along the readout, the phase encode and the partition encode (m). The slab excited is
fov_zthick.n_x (int, default=128) – Matrix size along the readout, the phase encode and the partition encode.
n_y (int, default=128) – Matrix size along the readout, the phase encode and the partition encode.
n_z (int, default=64) – Matrix size along the readout, the phase encode and the partition encode.
flip_angle_deg (float, default=12.0) – Excitation flip angle (degrees).
te (float | None, default=None) – Echo time (s).
Noneis as short as the readout admits.tr (float | None, default=None) – Repetition time (s), one per excitation.
Noneis as short as possible.readout_bandwidth_hz (float, default=250000.0) – Requested receiver bandwidth (Hz).
ry (int, default=1) – Undersampling along the phase and the partition encode.
rz (int, default=1) – Undersampling along the phase and the partition encode.
caipi_shift (int, default=0) – CAIPIRINHA shift: partitions by which the lattice is displaced per acquired line, in
[0, rz).partial_fourier_x (float, default=1.0) – Fraction of the echo acquired, in
[0.75, 1].partial_fourier_y (float, default=1.0) – Fraction of the phase- and partition-encode extent acquired, in
[0.75, 1].partial_fourier_z (float, default=1.0) – Fraction of the phase- and partition-encode extent acquired, in
[0.75, 1].n_dummy (int, default=64) – Non-acquiring repetitions before the first view.
excitation ({'slab', 'nonselective', 'spsp'}, default='slab') – A slab-selective SLR pulse, a hard pulse, or a slab- and water-selective spectral-spatial pulse.
readout_oversampling (float, default=2.0) – Readout oversampling factor, at least one.
n_acs_y (int, default=24) – Extent of the fully sampled calibration region along the phase and the partition encode, acquired ahead of the rest when undersampled.
n_acs_z (int, default=16) – Extent of the fully sampled calibration region along the phase and the partition encode, acquired ahead of the rest when undersampled.
elliptical_sampling (bool, default=True) – Acquire only the views inside the ellipse inscribed in the
n_y x n_zgrid; off, the whole grid. The calibration region is acquired whole either way.elliptical_acs (bool, default=False) – Make the calibration region the ellipse inscribed in the
n_acs_y x n_acs_zrectangle rather than the rectangle.wave ({'phase', 'partition', 'both'}, default='both') – Wave-CAIPI channels: a sine on y, a cosine on z, or both. With wave-encoding gradients the calibration region is acquired again first without them, marked
REF, and no wave-encoded view is markedIMA.wave_cycles (int, default=8) – Wave periods across the sampling window; zero plays no wave.
wave_amplitude (float, default=0.0) – Requested peak wave-encoding gradient amplitude (T/m); zero, the default, plays no wave. The slew rate may lower it.
- Returns:
The designed sequence.
- Return type:
- Raises:
ValueError – If
excitationis unknown, a partial Fourier fraction is outside[0.75, 1], an undersampling factor is below one,caipi_shiftis outside[0, rz),wavenames no wave mode, or the TE or TR is shorter than the readout takes.
Examples
>>> from pypulseqpp import sequences >>> seq = sequences.gre3D_sequence(n_x=32, n_y=16, n_z=4) >>> seq.check_timing()[0] True >>> seq.definitions["Matrix"], seq.definitions["Name"] ([32.0, 16.0, 4.0], 'gre_3d')
Designed and drawn#
See also#
Other gradient echo sequences: gre2D_sequence, gre_multiecho2D_sequence, gre_multiecho3D_sequence, gre_radial2D_sequence, gre_stack_of_stars3D_sequence, gre_spiral2D_sequence, gre_stack_of_spirals3D_sequence, gre_propeller2D_sequence, gre_stack_of_blades3D_sequence.
The same sampling in another family: se2D_sequence, se3D_sequence, fse3D_sequence, mprage3D_sequence, bssfp2D_sequence, bssfp3D_sequence, epi2D_sequence.
Every shipped sequence is listed in the catalogue.