What really is in each pixel of a DICOM slice ?

3 vues (au cours des 30 derniers jours)
Thao Do
Thao Do le 23 Déc 2022
Commenté : Thao Do le 25 Déc 2022
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 ?
  3 commentaires
Simon Chan
Simon Chan le 23 Déc 2022
You may refer to the DICOM Conformance Statement from the CT vendor. Or refer to DICOM Standard Supplement 188.
Thao Do
Thao Do le 24 Déc 2022
Thank you Chan

Connectez-vous pour commenter.

Réponse acceptée

Simon Chan
Simon Chan le 23 Déc 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.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 25 Déc 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.

Catégories

En savoir plus sur DICOM Format dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by