kernelkit.ProjectionGeometry#
- class kernelkit.ProjectionGeometry(source_position, detector_position, detector: Detector, u: Sequence = (0.0, 1.0, 0.0), v: Sequence = (0.0, 0.0, 1.0), beam: Beam | str = Beam.CONE, array_module=None)#
Single 3D projection with one source and one detector.
- Attributes:
detector_extent_min
Minimum extent of the detector in the world frame.
u
Horizontal u-vector in the detector frame of unit length.
v
Vertical v-vector in the detector frame of unit length.
- __init__(source_position, detector_position, detector: Detector, u: Sequence = (0.0, 1.0, 0.0), v: Sequence = (0.0, 0.0, 1.0), beam: Beam | str = Beam.CONE, array_module=None)#
Initialize a projection geometry.
- Parameters:
- source_positionarray-like
Position of the source in the world frame.
- detector_positionarray-like
Position of the detector in the world frame. The detector is assumed to be centered around the detector position.
- detectorkernelkit.geom.Detector
Detector object.
- u: Sequence
Vector pointing in the horizontal direction of the detector of length 1.
- v: Sequence
Vector pointing in the vertical direction of the detector of length 1.
- beamstr
Beam type, either ‘cone’ or ‘parallel’.
Notes
The axes conventions always follow the coordinates (x, y, z) in world space, where x and y are horizontal, and z is vertical. The detector u vector is horizontal and the v vector is vertical.
Methods
__init__
(source_position, detector_position, ...)Initialize a projection geometry.
Attributes
detector_extent_min
Minimum extent of the detector in the world frame.
u
Horizontal u-vector in the detector frame of unit length.
v
Vertical v-vector in the detector frame of unit length.