为 dicom 图像分配 Window 中心和 window 宽度

Assign the Window centre and window width for dicom image

我在 dcm format.In matlab 中有一个 Dicom 图像文件,使用 Dicomread 我得到图像数据并使用 dicominfo我得到了那个dcm文件的window中心window宽度。现在我想在图中使用 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.

我知道为什么会出现这个错误。它的发生是因为 window 中心值大于 window 宽度。

现在我的问题是

1.whether 我的代码为 dcm 图像分配 Window 级别和 window 宽度是对还是错?

2.How 当出现上述情况时,为 dicom 图像分配 Window 级别和 window 宽度?

只需计算最高值和最低值

low = center - width / 2
high = center + width / 2

并将此值用于 imshow

imshow(ct, [low, high])

如果我像这样使用 ImageMagick 的 identify 命令检查该图像,我会得到以下信息...

identify -verbose IM-0001-0001.dcm | grep -i window

dcm:WindowCenter: 2856.4189453125
dcm:WindowWidth: 2475.0

我倾向于相信这些值,因为 ImageMagick 似乎可以完美地提取图像,如下所示:

我建议您可以使用其他软件检查您的 window 值。