TIGRE
TIGRE copied to clipboard
Inaccurate FDK reconstruction for low voxel size
I'm trying to use tigre for reconstruction cone-beam CT images with variable scan geometries. However, I encountered unexpected results for a test data set with simulated projections of a simple circular scan trajectory.
Expected Behavior
The quality of the reconstructed volume should not depend on "linear scaling of the object / projection magnification".
Actual Behavior
Reconstruction of the simulated scan using FDK gives good results for the following set of geometry parameters:
- Distance from source to detector (DSD) = 556.0 mm
- Distance from source to origin (DSO)= 200.0 mm
- Size of each voxel (dVoxel) = [0.07194245, ...] mm
However, reconstruction of the same data provides poor results if a larger magfinication is provided as geometry parameters:
- Distance from source to detector (DSD) = 556.0 mm
- Distance from source to origin (DSO)= 6.0 mm
- Size of each voxel (dVoxel) = [0.00215827, ...] mm
All other parameters (number of pixels, pixel size) and the projections are identical for both reconstructions:
- Number of pixels (nDetector) = [1200 2000]
- Size of each pixel (dDetector) = [0.2 0.2] mm
- Number of voxels (nVoxel) = [1200 2000 2000]
I tried changing the accuracy parameter of the geometry over a wide range of several orders of magnitudes without visible effect.
It seems that the is some "absolute numerical accuracy threshold" which creates problems at low voxel size? Is there a way around this? (Typing a wrong magnification as a workaround may not matter for an ideal circular scan trajectory, but my goal is to test variations/deviations in the geometry for all projections individually, which would be influenced by the magnification.)
Scan setup
The test data for the reconstruction is a simulated circular cone-beam scan of a hexagonal object with a hole in the center (roughly representing a hexagonal nut).
result with large DSO (low magnification):
result with low DSO (high magnification), "correct" simulation setup with bad reconstruction:
Specifications
- python version: 3.10.14
- OS: Windows 10 64 bit
- CUDA version: 11.7
- GPU: 2x GeForce GTX TITAN X (12 GB), compute capability 5.2