Search code examples
medicalvolume-rendering

Hounsfield values in volume rendering


I am wondering how the hounsfield values are handled when visualizing CT datasets. Since the range of the HU unit contains negative values which might be problematic to handle (for example when multiplying with an attenuation factor during ray casting), I am assuming they are converted to the range [0,1], where 0 represents air (-1000 HU) and 1 bones (~3000HU).

Am I correct in this assumption? How is the problem that not every real number can be represented by an floating point dealt with?


Solution

  • Hounsfield Units are calibrated to water ie water = 0 and should not be confused with the attenuation coefficients which are a function of the machine, whatever filters you are using & the materials being scanned.

    HU are usually stored as signed integers so are rounded to the nearest number.

    The volumetric rendering is done based on HUs. So data collected by the scanner is converted to integers and then the images are reconstructed. For display purposes its the HUs that are rescaled depending on the scanner either 0 to 65535 (for 16 bit) or 0 to 2147483647 (for 32 bit). Where 0 is air.

    This seems an odd question for Stackoverflow.