我有一个dcm格式的Dicom图像文件。在matlab中使用 Dicomread 我得到了图像数据并使用 dicominfo 我得到了窗口中心和窗口宽度。现在我想使用图中的 imshow 来显示图像。
我的代码如下,
ct = dicomread('E:\IM-0001-0001.dcm');
info = dicominfo('E:\IM-0001-0001.dcm');
figure
imshow(ct , [info.WindowCenter, info.WindowWidth]);
但它会出错
Error using checkDisplayRange (line 20) HIGH must be greater than LOW.
我知道为什么会出现这个错误。因为窗口中心值大于窗口宽度而发生。
现在我的问题是
1.为dcm图像分配窗口级别和窗口宽度,我的代码是对还是错?
2.如果出现上述情况,如何为dicom图像指定窗口级别和窗口宽度?
答案 0 :(得分:1)
只需按
计算最高和最低值low = center - width / 2
high = center + width / 2
并将此值用于imshow
imshow(ct, [low, high])