what does the minus value of pixel mean in MRI

6 次查看(过去 30 天)
I got one MRI image. when I read it into MATLAB with the function 'dicomread', I found that the pixel format was int16, some pixels got a minus value. how can I convert the pixel into 0-255?
  1 个评论
Walter Roberson
Walter Roberson 2015-11-6
What is the Photometric Interpretation set to?
Also is the negative after the rescale? CT images for example often want to use Hounsfield units, which can be negative; see https://www.medicalconnections.co.uk/kb/Hounsfield_Units

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2015-11-6
Try using mat2gray():
image8bit = uint8(255*mat2gray(double(image16bit)));
This will scale it from min (the negative number) to max -> [0,255]. If you want to get rid of negative numbers in advance, do this:
image16bit(image16bit < 0) = 0;
image8bit = uint8(255*mat2gray(double(image16bit)));
  2 个评论
song
song 2015-11-6
thanks for your answer . but I get another questions why we get minus value in MRI data . what does that mean ? you know that the intensity of one pixel usually is a positive value.
Image Analyst
Image Analyst 2015-11-6
I have no idea why the data is signed instead of uint16, and why there are negative values. Perhaps ask the radiologist who created it.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MRI 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by