When extracting the CT voxel intensity for integration, standard Siddon-Jacobs does not model exactly how the beam crosses the voxel, but just takes the intensity of the crossed voxel.
This 'locks' the intensity integration at the CT grid.
It's not an issue on the dispersive direction because the fan-beam is highly divergent and a small change in the source position changes the crossing path(-length) in many voxels, resulting in immediate image update.
Along the longitudinal CT direction however, we may not have an image update if we move within the actual slice thickness. There's also some interplay between the DRT resolution and CT resolution.
There are a some ways to address this and mostly involve not using the actual voxel intensities but introducing some interpolation (trilinear or b-splines, etc...), supersampling along the ray or oversampling of the input CT.
We explore first the method with lower computational cost:
-> leave Siddon as is for the computation of the radiological path length across each voxel
-> change the extraction of voxel intensity to apply trilinear interpolation of neighbouring voxels
Note we model a simplified fan-beam with zero longitudinal dispersion.
We can't use the voxel center to define our query point for intensity interpolation - the relative distance of the voxel center and its 4 neighbour is always the same.
So...
Compute the entry and exit point positions based on ray orientation and Siddon alphas
Compute the mid-point between entry and exit points
Calculate intensity using trilinear interpolation at that mid-point position
The interpolated intensities are integrated along the ray
In this way we model user transforms below the CT voxel resolution, which should address our rendering issues.
It also generally improves the DRR quality along the longitudinal direction and handles rotations in patient transform better.
When extracting the CT voxel intensity for integration, standard Siddon-Jacobs does not model exactly how the beam crosses the voxel, but just takes the intensity of the crossed voxel.
This 'locks' the intensity integration at the CT grid.
It's not an issue on the dispersive direction because the fan-beam is highly divergent and a small change in the source position changes the crossing path(-length) in many voxels, resulting in immediate image update.
Along the longitudinal CT direction however, we may not have an image update if we move within the actual slice thickness. There's also some interplay between the DRT resolution and CT resolution.
There are a some ways to address this and mostly involve not using the actual voxel intensities but introducing some interpolation (trilinear or b-splines, etc...), supersampling along the ray or oversampling of the input CT.
We explore first the method with lower computational cost:
-> leave Siddon as is for the computation of the radiological path length across each voxel
-> change the extraction of voxel intensity to apply trilinear interpolation of neighbouring voxels
Note we model a simplified fan-beam with zero longitudinal dispersion.
We can't use the voxel center to define our query point for intensity interpolation - the relative distance of the voxel center and its 4 neighbour is always the same.
So...
- Compute the entry and exit point positions based on ray orientation and Siddon alphas
- Compute the mid-point between entry and exit points
- Calculate intensity using trilinear interpolation at that mid-point position
- The interpolated intensities are integrated along the ray
In this way we model user transforms below the CT voxel resolution, which should address our rendering issues.
It also generally improves the DRR quality along the longitudinal direction and handles rotations in patient transform better.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
When extracting the CT voxel intensity for integration, standard Siddon-Jacobs does not model exactly how the beam crosses the voxel, but just takes the intensity of the crossed voxel.
This 'locks' the intensity integration at the CT grid.
It's not an issue on the dispersive direction because the fan-beam is highly divergent and a small change in the source position changes the crossing path(-length) in many voxels, resulting in immediate image update.
Along the longitudinal CT direction however, we may not have an image update if we move within the actual slice thickness. There's also some interplay between the DRT resolution and CT resolution.
There are a some ways to address this and mostly involve not using the actual voxel intensities but introducing some interpolation (trilinear or b-splines, etc...), supersampling along the ray or oversampling of the input CT.
We explore first the method with lower computational cost:
-> leave Siddon as is for the computation of the radiological path length across each voxel
-> change the extraction of voxel intensity to apply trilinear interpolation of neighbouring voxels
Note we model a simplified fan-beam with zero longitudinal dispersion.
We can't use the voxel center to define our query point for intensity interpolation - the relative distance of the voxel center and its 4 neighbour is always the same.
So...
In this way we model user transforms below the CT voxel resolution, which should address our rendering issues.
It also generally improves the DRR quality along the longitudinal direction and handles rotations in patient transform better.