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.
-
tuple[int, int]
|list[int]
|torch.tensor
|np.ndarray
↩ -
tuple[float, float]
|list[float]
|torch.tensor
|np.ndarray
↩↩ -
tuple[int, int, int]
|list[int]
|torch.tensor
|np.ndarray
↩ -
tuple[float, float, float]
|list[float]
|torch.tensor
|np.ndarray
↩↩↩ -
list[float]
|torch.tensor
|np.ndarray
↩ -
list[float | int]
|torch.tensor
|np.ndarray
↩