Voxel Driven algorithm with large tilt angles
@kylechampley I am talking about projection algorithms and encountering issues with the Voxel Driven (VD) implementation in this toolbox. The VD implementation iterates the indexes of both detector and voxel boundaries, which are mapped onto a common plane, in a regular order. However, if the source or detector is tilted at large angles, the mapped boundaries of both detector and voxels tend to become irregular. This irregularity can cause shifts in the indexes of the corresponding voxel and detector boundaries during the calculation of overlapping areas.
For example, if the "shadow" of the image slice is trapezoidal due to the tilted source and detector, the detector indices can shift downward in rows while the voxel indices count right in columns. This can lead to incorrect index matching between the detector and the image slice. Also, the irregular shapes of intersecting areas begin to distort the rectangular intersection assumption with large tilt angles. Additionally, if the detector is tilted, not only is the image slice affected, but the detector cell boundaries also become trapezoidal on the common plane. I believe this is a critical issue for both the VD and branchless VD algorithms.
Given these observations, can we say that this algorithm was designed only for stable detectors and narrow tilt angles? If so, does this mean that the VD algorithm cannot be effectively used in tomographic imaging? I am trying to determine whether this problem is due to the way the VD algorithm is implemented, or if it is inherent to the theory of VD algorithm itself. Finally, are there any other implementations or methods that address and solve these problems?
Do you mean SF or VD projectors?
LEAP has SF and VD backprojectors. Forward projectors are all SF.
What you are describing is the Separable Footprint (SF) projectors.
Voxel-Driven (VD) projectors do not model the shape or size of the voxels or detector pixels.
If you have large detector rotations, then, yes, the traditional SF projectors have some problems, but I thought I devised ways to deal with these in LEAP. If you can provide an example of the issues you are encountering, then I can see if I can fix the issue.
Below link is my issue. It is related to laminography geometry and I can see both LEAP's SF and VD backprojection have same issue to reconstruct volume from such large tilted laminography geometry. As you said before it is the case of the violation of Leap's within 5 degree observation to z-axis. So I guess that it may be related to the limitation of VD algorithm itself. As you can see the below slice, it may be not related to geometry missing points, it may be related to the method of indexing the voxel points which are far from the center of object rotation.
///////////////////////////////////////// https://github.com/LLNL/LEAP/issues/134#issuecomment-2489827596
I replaced the VD back-projection algorithm with distance drive one, then it looks ok for me now. I hope to see some example in leap demo for linear ct too.