首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置此医学DICOM图像的显示范围

如何设置此医学DICOM图像的显示范围
EN

Stack Overflow用户
提问于 2017-02-08 02:07:11
回答 1查看 428关注 0票数 1

这是我用来显示DICOM图像的代码,当我给出完整的显示范围时,它显示像左边一样的毛刺图像,当我增加较低的显示范围时,图像看起来更清晰。

代码语言:javascript
复制
[img, map] = dicomread('D:\Work 2017\Mercy\trial\trial4\Export0000\MG0001.dcm');
info = dicominfo('D:\Work 2017\Mercy\trial\trial4\Export0000\MG0001.dcm' );
mini = min(img(:));
maxi = max(img(:));

figure,
subplot(131), imshow(img, [mini maxi]); title('Full display range')
subplot(132), imshow(img, [maxi*0.7 maxi]); title('70% and above display range')
subplot(133), imshow(img, [maxi*0.8 maxi]); title('80% and above display range')

我希望总是看到类似于右侧图像的图像,而不给出我在上面代码中使用的显示范围

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-08 02:17:31

通常,DICOM将具有指定推荐窗口/级别设置的WindowCenter and WindowWidth标签。您可以通过以下方式将这些转换为颜色限制

代码语言:javascript
复制
% Get the DICOM header which contains the WindowCenter and WindowWidth tags
dcm = dicominfo(filename);

% Compute the lower and upper ranges for display
lims = [dcm.WindowCenter - (dcm.WindowWidth / 2), ...
        dcm.WindowCenter + (dcm.WindowWidth / 2)];

% Load in the actual image data
img = dicomread(dcm);

% Display with the limits computed above
imshow(img, lims);

或者更简短地说

代码语言:javascript
复制
lims = dcm.WindowCenter + [-0.5 0.5] * dcm.WindowWidth;

如果这些值是不可接受的,那么最好提供一个用户可调的窗口/级别(比如imtool中的对比度工具),因为没有任何方法可以可靠地获得“可接受”的对比度,因为它是主观的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42096890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档