What really is in each pixel of a DICOM slice ?

2 views (last 30 days)
As far as I read from surveyings, papers & documentations of some libraries, it seems like each pixel in the data array part of a DICOM slice (each .dcm file) is just HU value (in radiology terminology).
Since I tried to open many pixel_array using Pydicom or Mathlab, it is integer with the range is really high like [0, 2000] or more.
I'm not sure I was correct about this because I'm still wondering how each slice is visualized? (because normal image is in [0, 255] scale) ? ( or they scale down from HU range to [0,255] ? )
OR I was wrong, the CT scanner output the slice with normal image [0, 255] after processing the HU already ?

Sign in to comment.

Accepted Answer

Simon Chan
Simon Chan on 23 Dec 2022
You may check the following DICOM Tags:(0028,0100), (0028,0101) and (0028,0102) regarding to the information about number of bits used.
On the other hand, you may also check (0028,1052) and (0028,1053) to know the linear transformation between the pixel value and HU value.
In MATLAB, read about dicominfo to know how you can extract the DICOM headers.

More Answers (1)

Walter Roberson
Walter Roberson on 25 Dec 2022
HU values could potentially be stored as single precision values (double precision is less likely.) However, more often they are stored as 16 bit integers.
Some devices pre-filter the values to eliminate the negatives, and effectively store positive integers. Other devices do not pre-filter and use negatives as well.
There are two semi-standards for ranges. One of the two tends to peak around 6000; the other tends to have values up to about 18000 (but tends to concentrate around 12000 to 14000)
The dicom headers might include Rescale Slope and Rescale Intercept values. If it does then you do a linear scaling of the stored values, value times slope plus intercept.
The files that do not use negative numbers are more likely to use the rescaling, to project into the negatives.


Find more on DICOM Format in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by