Threshold of itk::RescaleIntensityImageFilter


I’m generating a DRR image using DigitallyReconstructedRadiograph1.cxx. I need to generate two kinds of DRR images, one only has the soft tissues and the other one only has the bone structures. I have tried to change the threshold of RayCastInterpolateImageFunction to get the DRR image which only has bone structures as shown below. I also need to generate the DRR image that doesn’t have bone structures and I don’t know how to do it. Are there some ways to generate the DRR image which only has soft tissues and doesn’t have bone structures?

Hello @suzume,

The RayCastInterpolateImageFunction does not support this functionality. The threshold setting is designed to ignore values below the given setting, so allows you to ignore soft tissue, but not bone when doing the summation.

You can:
a. Modify the RayCastInterpolateImageFunction to support the functionality you want.
b. Create two volumes via thresholding prior to DRR generation, bone and soft tissue. Then generate a DRR from each of the volumes without the need to use a threshold during DRR generation.


Thank you very much! I will try!

Hello @zivy, I have tried the first solution to get the DRR image that has only soft tissues. The result is shown below. Compared to the DRR images that only have bone structures (the right one), the place that used to be bone structure now seems absent and seems like air in the DRR image which only has soft structures (the left one). Is this the right situation? Or when I generate the DRR image that only have soft tissues, I should change the intensity of the bone structure to make it become soft tissues?

Hello @suzume,

If you are asking if the DRR on the left is correct in the sense that it only displays soft tissue, then yes. Wherever you had bone in the CT you ignored it, so it is equivalent to an object comprised of soft tissue and water (water has a HU of zero which is what replaced bone, assuming you didn’t replace it with air, -1000HU, you can replace it with white-matter ~25HU or gray-matter~35HU).

The question is whether this DRR is more useful for a specific task. You can try various rendering approaches.

As I believe you are working on 2D/3D (projective-image/volume) registration you need to consider:

  1. How is the 3D volume mapped to 2D (DRR and how that is done, or iso-surface rendering and which iso value etc.). This does not necessarily simulate the physical x-ray creation process.
  2. How is the 2D rendering compared to the 2D x-ray image and the optimization of this similarity.

The interplay between the two components is what determines the accuracy of the registration and the time it takes to perform it - this is the bottom line, not if the mapping of the 3D volume to a 2D image was an accurate simulation of the physical imaging process.


Thanks for your reply! It’s very helpful!