Class of the dicom image read by the dicomread function
2 次查看(过去 30 天)
显示 更早的评论
Hello!
Could anyone please tell me what changes the class of a dicom image read by dicomread() ?
For example,
CT_ankle=dicomread('CT-MONO2-16-ankle.dcm');
CT_ankle_class=class(CT_ankle);
CT_ankle_class=int16
However, when I give an image from my dicom dataset as an input to dicomread() it returns an image of class uint16.
The dicom image read by the dicomread() can be of class uint8, int8, uint16, or int16. I want to know what determines the class.
Thanks & Regards
Tan
0 个评论
采纳的回答
Matt Cohen
2016-5-17
Hi Tan,
I understand you are interested in learning more about what dictates the class of a DICOM image.
The class of the DICOM image should be set by the hardware/acquisition device that creates and stores the image. Different sources might encode images slightly differently, which leads to some being uint8 while others being int8, etc. However, there are at least some standards and consistency as far as the different format types go. The specific encoding format will be stored in the DICOM file so that MATLAB knows what class the image's data belongs to when loading, and, as mentioned in the documentation, it will belong to one of the four specified classes.
I hope this information proves to be helpful.
Matt
3 个评论
Houssam
2021-6-7
Hi Matt
still in 2021, i am unteressted too in knowing where dcm file stores the information about the class of the image, because i ve searched the dcm header and only found a parameter named BitDepth but nothing to do with the class !!!
Rik
2021-6-7
It has to do with the VR label of the dictionary entry of the image data. So it isn't actually stored in the DICOM file, but in the dictionary.
An implementation like Matlab might chose to use int8 if the BitDepth is sufficiently small that all data will fit, but those conventions are not enforced by the standard itself.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!