How to display DICOM image

조회 수: 20(최근 30일)
Majid Al-Sirafi
Majid Al-Sirafi 2019년 1월 23일
댓글: Walter Roberson 2019년 1월 25일
Hi everyone
Currently, I’m working in processing of DICOM image. The following program is used for noising the medical image
close all;
clear all;
X = dicomread('CT-MONO2-16-ankle.dcm');
metadata = dicominfo('CT-MONO2-16-ankle.dcm');
figure; imshow(X, []);title('before');
X = imnoise(X,'salt & pepper',0.0006);
dicomwrite(X, 'noisyImage.dcm', metadata);
Y = dicomread('noisyImage.dcm');
figure; imshow(Y, []); title('after');
Unfortunately, the output is blur noisy image. I want just noisy image (as shown in attached image), not blur noisy image. How can I do that?
  댓글 수: 6
Walter Roberson
Walter Roberson 2019년 1월 25일
When you use a display range in imshow(), it tells the graphics system to map all value below "low" to the first color in the color map, and to map all values above "high" to the last color in the color map, and to map all values inbetween proportionately -- so a value 1/3 of the way between low and high would get mapped to 1/3 of the way into the color map.
If you specify a display range of [] (the empty array) then the code uses min(X(:)) and max(X(:))
Now, it might be the case that for one particular sequence of images that the "interesting" information is within a known range of values, but a different run of the same patient on the same machine might have a different "interesting" range of values because of different machine settings. In any case, a different dataset from a different manufacturer's machine will likely have the "interesting" range of values be different.
Automatically finding the "interesting" range of values can be tricky.

댓글을 달려면 로그인하십시오.



Community Treasure Hunt

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

Start Hunting!

Translated by