kernelkit.XrayTransform#
- class kernelkit.XrayTransform(projection_geometry: Any, volume_geometry: Any, volume_axes: tuple = (0, 1, 2), projection_axes: tuple = (0, 1, 2), use_toolbox: bool = False, fp_kwargs=None, bp_kwargs=None)#
A mathematical operator representing the X-ray transform.
- Attributes:
T
The corresponding adjoint of the operator.
domain_shape
The domain \(\text{dom}(A)\)
range_shape
The range \(\text{ran}(A)\).
Methods
__call__
(input[, out, additive])Apply the forward projector, \(A(x)\).
- __init__(projection_geometry: Any, volume_geometry: Any, volume_axes: tuple = (0, 1, 2), projection_axes: tuple = (0, 1, 2), use_toolbox: bool = False, fp_kwargs=None, bp_kwargs=None)#
Create an X-ray transform operator.
- Parameters:
- projection_geometrylist[ProjectionGeometry]
The projection geometries.
- volume_geometryVolumeGeometry
The volume geometry.
- volume_axestuple, optional
The axes of the volume to use for the forward projection. Default is (0, 1, 2).
- projection_axestuple, optional
The axes of the projections to use for the forward projection. Default is (0, 1, 2).
- use_toolboxbool, optional
Whether to use ASTRA Toolbox compatible projectors. Default is False.
- Raises:
- NotImplementedErrorIf the projection geometries are not conebeam.
Notes
If use_toolbox is True, the volume_axes and projection_axes must be set to (2, 1, 0) and (1, 0, 2), respectively.
Methods
__init__
(projection_geometry, volume_geometry)Create an X-ray transform operator.
Attributes
T
The corresponding adjoint of the operator.
domain_shape
The domain \(\text{dom}(A)\)
range_shape
The range \(\text{ran}(A)\).