what does the minus value of pixel mean in MRI

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 Comment

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

Sign in to comment.

 Accepted Answer

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 Comments

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.
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.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!