tfmri.sampling.radial_trajectory
tfmri.sampling.radial_trajectory¶
- radial_trajectory(base_resolution, views=1, phases=None, ordering='linear', angle_range='full', tiny_number=7, readout_os=2.0, flatten_encoding_dims=False)[source]¶
Calculate a radial trajectory.
This function supports the following 2D ordering methods:
linear: Uniformly spaced radial views. Views are interleaved if there are multiple phases.
golden: Consecutive views are spaced by the golden angle (222.49 degrees if
angle_range
is'full'
and 111.25 degrees ifangle_range
is'half'
) 1.golden_half: Variant of
'golden'
in which views are spaced by 111.25 degrees even ifangle_range
is'full'
1.tiny: Consecutive views are spaced by the n-th tiny golden angle, where
n
is given bytiny_number
2. The default tiny number is 7 (47.26 degrees ifangle_range
is'full'
and 23.63 degrees ifangle_range
is'half'
).tiny_half: Variant of
'tiny'
in which views are spaced by a half angle even ifangle_range
is'full'
2 (23.63 degrees fortiny_number
equal to 7).sorted: Like
golden
, but views within each phase are sorted by their angle in ascending order. Can be an alternative to'tiny'
ordering in applications where small angle increments are required.sorted_half: Variant of
'sorted'
in which angles are computed on a half range but modified to continuously cover the full range.
This function also supports the following 3D ordering methods:
sphere_archimedean: 3D radial trajectory (“koosh-ball”). The starting points of consecutive views trace an Archimedean spiral trajectory along the surface of a sphere, if
angle_range
is'full'
, or a hemisphere, ifangle_range
is'half'
3. Views are interleaved if there are multiple phases.
- Parameters
base_resolution – An int. The base resolution, or number of pixels in the readout dimension.
views –
An int. The number of radial views per phase.
phases –
An int. The number of phases for cine acquisitions. If None, this is assumed to be a non-cine acquisition with no time dimension.
ordering – A str. The ordering type. Must be one of:
{'linear', 'golden', 'tiny', 'sorted', 'sorted_half', 'sphere_archimedean'}
.angle_range –
A str. The range of the rotation angle. Must be one of:
{'full', 'half'}
. Ifangle_range
is'full'
, the full circle/sphere is included in the range. Ifangle_range
is'half'
, only a semicircle/hemisphere is included.tiny_number –
An int. The tiny golden angle number. Only used if
ordering
is'tiny'
or'tiny_half'
. Must be >= 2. Defaults to 7.readout_os – A float. The readout oversampling factor. Defaults to 2.0.
flatten_encoding_dims – A boolean. If True, the encoding dimensions are flattened to a single dimension. Defaults to False.
- Returns
A
Tensor
of typefloat32
and shape[views, samples, 2]
ifphases
is None, or of shape[phases, views, samples, 2]
ifphases
is not None.samples
is equal tobase_resolution * readout_os
. The units are radians/voxel, ie, values are in the range[-pi, pi]
.
References
- 1(1,2)
Winkelmann, S., Schaeffter, T., Koehler, T., Eggers, H. and Doessel, O. (2007), An optimal radial profile order based on the golden ratio for time-resolved MRI. IEEE Transactions on Medical Imaging, 26(1): 68-76, https://doi.org/10.1109/TMI.2006.885337
- 2(1,2)
Wundrak, S., Paul, J., Ulrici, J., Hell, E., Geibel, M.-A., Bernhardt, P., Rottbauer, W. and Rasche, V. (2016), Golden ratio sparse MRI using tiny golden angles. Magn. Reson. Med., 75: 2372-2378. https://doi.org/10.1002/mrm.25831
- 3
Wong, S.T.S. and Roos, M.S. (1994), A strategy for sampling on a sphere applied to 3D selective RF pulse design. Magn. Reson. Med., 32: 778-784. https://doi.org/10.1002/mrm.1910320614