MATLAB Answers

Poor display of DICOM images using MATLAB (dicomread)

4 views (last 30 days)
Ortal on 19 Jan 2014
Edited: Rik on 21 Jul 2021
I'm using the dicomread command in order to load and display brain CT images. Comparing to standard DICOM viewers the quality of the images is very poor in a way that it is impossible to notice pathologies such as ischemia and bleeding even if they are very prominent when using the standard DICOM viewer. I'm not sure if the reason is that the dicomread command "ruins" the DICOM image or that the standard viewer uses an intense image enhancer. Looking for some HELP or ideas for how I should solve it.
Thanks, Ortal
Ortal on 21 Jul 2021
It was just a matter of the dynamic range, as CT images are 16-bit. You should just scale it to a displayable 8-bit image in the desired range in hounsfield units (it's called windowing in the CT imaging jargon:

Sign in to comment.

Answers (1)

Rik on 21 Jul 2021
Edited: Rik on 21 Jul 2021
dicomread does not change the file in any way. Most medical viewers will use a subsampling. The viewer I use, uses an 8x8 bilinear interpolation (which increases the resolution on the screen to 4096x4096).
This can make the image clearer sometimes, but it is 'cheating'. You can use the altered image for visual analysis, but for numerical analyses you should use the original data in the DICOM file.
If you need a tool for changing the window level in an interactive way, you might be interested in my WindowLevel function. You can simply drag on the image to adjust the window level, which is especially useful for CT images, which have 12 bit (or in very rare cases 16 bit) data, while normal image functions assume 8 bits.

Community Treasure Hunt

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

Start Hunting!