MATLAB中dicomread函数如何实现数据的提取? 5
我用MATLAB中的dicomread函数提取DICOM文件中的图像数据>>X=dicomread('1.2.840.113619.2.159.1479888.11545...
我用MATLAB中的dicomread函数提取DICOM文件中的图像数据
>> X=dicomread('1.2.840.113619.2.159.1479888.1154571250.0.18.4.dcm');
得到矩阵X,size:434*532,bytes:230888,class: uint8 arry;
X中的数据是0~255的整数,我想请教一下,在DICOM文件中,图像的像素数据也是以整数形式存放的吗?或者,在用dicomread读取数据时,对原来的数据进行了变换,使图像的灰度级映射在0~255之间? 展开
>> X=dicomread('1.2.840.113619.2.159.1479888.1154571250.0.18.4.dcm');
得到矩阵X,size:434*532,bytes:230888,class: uint8 arry;
X中的数据是0~255的整数,我想请教一下,在DICOM文件中,图像的像素数据也是以整数形式存放的吗?或者,在用dicomread读取数据时,对原来的数据进行了变换,使图像的灰度级映射在0~255之间? 展开
1个回答
2020-03-13
展开全部
你好,最近我也在学DICOM,发表一点自己的浅见,可能有的地方不严谨。
DICOM中,每个像素的值存储在一个像素单元中,一个像素单元长度可能是8,16,24(由DICOM中的Bits allocated数据元素决定),所以灰阶是2的8次方或16次方或24次方。
但是这个像素值还要经过一个式子变换,需要读取RescaleIntercept和RescaleSlope两个数据元素,通过公式Hu=pixel∗slope+intercept计算得到CT值,最后通过窗宽窗位调整。
DICOM中,每个像素的值存储在一个像素单元中,一个像素单元长度可能是8,16,24(由DICOM中的Bits allocated数据元素决定),所以灰阶是2的8次方或16次方或24次方。
但是这个像素值还要经过一个式子变换,需要读取RescaleIntercept和RescaleSlope两个数据元素,通过公式Hu=pixel∗slope+intercept计算得到CT值,最后通过窗宽窗位调整。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询