make_line_readout#
- pulserver.blocks.make_line_readout(system, fov, npix, osf=1.0, has_adc=True, flyback=False, ndim=1)[source]#
Prepare line readout for Cartesian, EPI or Radial imaging.
- Parameters:
system (pypulseq.Opts) – System limits.
fov (float) – Field of view in the readout direction in
[mm]
.npix (int) – Matrix size in the readout direction.
osf (float, optional) – Readout oversampling factor. The default is
1.0
.has_adc (bool, optional) – If
True
,read_block
contains and ADC event. Otherwise, it does not (e.g., dummy shots for steady-state preparation). The default isTrue
.flyback (bool, optional) – If
True
, design a flyback gradient. The default isFalse
.ndim (int, optional) – Number of k-space dimensions spanned by the readout. The default is
1
.
- Returns:
read_block (dict) – Readout block dictionary with the following keys:
- gxSimpleNamespace
Readout gradient event.
- gySimpleNamespace
Readout gradient event (only if
ndim >= 2
).
- gzSimpleNamespace
Readout gradient event (only if
ndim == 3
).
- adcSimpleNamespace
ADC event (only if
has_adc
isTrue
).
phase_block (dict) – Readout prewinder / rewinder block with the following keys:
- gxSimpleNamespace
Pre-/rewinder gradient event.
- gySimpleNamespace
Pre-/rewinder gradient event (only if
ndim >= 2
).
- gzSimpleNamespace
Pre-/rewinder gradient event (only if
ndim == 3
).
flyback_block (dict, optional) – Readout flyback block with the following keys:
- gxSimpleNamespace
Flyback gradient event.
- gySimpleNamespace
Flyback gradient event (only if
ndim >= 2
).
- gzSimpleNamespace
Flyback gradient event (only if
ndim == 3
).
It is returned only if
flyback
isTrue
.
- Return type:
tuple[dict, dict] | tuple[dict, dict, dict]
Notes
For Cartesian or EPI imaging, the
ndim
is equal to1
. For 2D and 3D Radial imaging,ndim
should be set to2
and3
, respectively. The design routine will then put the maximum amplitude trapezoid event ingx, gy
andgx, gy, gz
, respectively, to handle the rotation as amplitude scaling given by the elements of the rotation matrix. This trick would not work e.g., for spiral trajectories, where the base waveform for different axis are different.