what does the minus value of pixel mean in MRI
6 views (last 30 days)
Show older comments
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
Walter Roberson
on 6 Nov 2015
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
Accepted Answer
Image Analyst
on 6 Nov 2015
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
Image Analyst
on 6 Nov 2015
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.
More Answers (0)
See Also
Categories
Find more on MRI in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!