Question

When i get a Drawing.image from Dicom.imaging.DicomImage.RenderImage() using fellow oak Dicom, that image has just RGB values but i need hounsfield units.

How to get hounsfield units? I need a sample code plz. Thank you.

Was it helpful?

Solution

If you have a CT image, then there's a standard way to convert pixel values to Hounsfield units.

First, a couple words of caution.

First, normally, CT images should contain greyscale pixel values, and that's what you want to use. You can tell the type stored pixel values by examining the Photometric Interpretation (0028,0004) tag. Hopefully, it is "MONOCHROME2", and your image contains greyscale pixel values. (In the unlikely event that Photometric Interpretation is "MONOCHROME1", check with the source of the images to see if you can get "MONOCHROME2", instead.) If you are seeing RGB values, it might be that something in your toolkit is converting them (possibly for display), and that's not what you want. You want to use the actual stored pixels from Pixel Data (7FE0,0010).

Second, everything I'm saying relates to the traditional CT Image Information Object (IOD). If you have an Enhanced CT Image, details may change. If you have a Secondary Capture image, then all bets are off.

For CT images, there's a linear conversion from stored pixel values to Hounsfield units, using the values Rescale Slope (0028,1053) and Rescale Intercept (0028,1052):

Hounsfield units = (Rescale Slope * Pixel Value) + Rescale Intercept

(Note: Other types of images can have a look-up table in place of their equivalent of this formula. For CT, you don't have to worry about that.)

Hope this helps.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top