Skip to content

Geometry

To get a good reconstruction, the geometry-parameters need to be set correctly. We follow the same style as the python-version of TIGRE. All parameters is usually specified in millimeters, but one can change it to the unit one likes. The important part is that the unit is the same for all the parameters. The parameters are as follows.

Parameter name Definition Important Type
mode cone or parallel Type of CT scan str
DSO Distance from the source to the object (mm). Used when mode="cone". Not needed for parallel geometry. float
DSD Distance from the source to the detector (mm). Used when mode="cone". Not needed for parallel geometry. float
nDetector Number of detector pixels [height, width] (px). list of 2 ints1
dDetector Size of each detector pixel [height, width] (mm). list of 2 floats2
nVoxel Number of voxels in the reconstructed volume [z, y, x] (px). The order is [z, y, x] meaning [height, width, depth] list of 3 ints3
dVoxel Size of each voxels in the reconstructed volume [z, y, x] (mm). The order is [z, y, x] meaning [height, width, depth] list of 3 float4
offDetector Offset vector to the true center of the detector [height, width] (mm) The vector defines the true center of the detector. The vector is an offset from the current center of the detector, defined as the middle point of the detector. The coordinate system starts in the bottom left corner of the detector. list of 2 floats2
offOrigin Offset vector to the image center [z, y, x] (mm) Only moves the position of the reconstructed volume. Currently not implemented list of 3 floats4
COR Center of rotation. (mm) A horizontal shift on the axis of rotation. A positive number means that the true center of rotation is to the right of the source-to-detector-line. float
rotDetector Rotation of the detector. [roll, pitch, yaw] (radians) list of 3 floats4
radians boolean value telling if the angles are defined in radians or degree. True means that the angles are in radians, while False means that it is bool
angles Acqustion angles of the projections (radians). The angles needs to be ordered the same way as sorted(projections) when inuputing a directory of images. The unit of angles can be changed to degrees if radians=False list of floats5
radians Unit of angles Default is True (radians). Set to False to use degrees for angles. This will not affect rotDetector which is in radians bool
timesteps Acqustion timesteps of the projections. Optional. The unit of the timesteps are arbitrary, and the timesteps will be normalized between 0 and 1 for the dynamic reconstruction. If not provided, the angles are assumed to be in acqusition order with equal spacing in time between the projections. list of numbers6 or None

Note: For 4D-CT reconstruction, the geometry needs to be extremely accurate to avoide oscillating geometry artifacts.


  1. tuple[int, int] | list[int] | torch.tensor | np.ndarray 

  2. tuple[float, float] | list[float] | torch.tensor | np.ndarray 

  3. tuple[int, int, int] | list[int] | torch.tensor | np.ndarray 

  4. tuple[float, float, float] | list[float] | torch.tensor | np.ndarray 

  5. list[float] | torch.tensor | np.ndarray 

  6. list[float | int] | torch.tensor | np.ndarray