Volume Mapper Comparison
There are several methodologies for mapping the pixel values from a 3D volume onto a 2D plane for rendering.
In VTK there are implementations of two different mappers for this purpose: vtkVolumeRayCastMapper and vtkVolume3DTextureMapper. The RayCast mapper can produce very accurate DRR images as the cost of speed. The Texture mapper can produce DRR images faster, but they have some artifacts.
Are DRR images produced by the RayCast mapper better for image registration than the ones produced by the Texture mapper?
Both mappers were implemented in pyJointTrack. Using the 200 StartPositions from the Gold Standard data set, the normalized Mutual Information metric was calculated at each position using both the Ray Cast volume mapper and the Texture Mapper.
The two image below were generated using the same volume and rendering settings. The first was produced using thevtk Ray Cast volume mapper, the second image was produced with the vtk Texture Mapper volume mapper.
Figure 1. Ray Cast
Figure 2. Texture Map
To Evaluate whether the difference in volume mappers affected the calculation of the image similarity metric, the Mutual Information metric was calculated for both images for 200 different starting positions.
Figure 3. Image metric evaluations at 200 different starting positions for Ray Cast Mapper.
Figure 4. Image metric evaluations at 200 different starting positions for Texture Mapper.
As for render time, the texture mapper renders on average, 4.4x faster than the Ray Cast mapper.
Ray Cast Mapper - Mean frame rate for 20 renderings: 1.85 +/- 0.10 fps
Texture Mapper - Mean frame rate for 20 renderings: 8.15 +/- 0.37 fps
Qualitatively, the images look very similar. Likewise, the image metric results are very similar for both mappers (see start position figures above).