【问题标题】:Dicom: Matlab versus ImageJ grey levelDicom:Matlab 与 ImageJ 灰度
【发布时间】:2014-06-27 19:08:31
【问题描述】:

我正在使用 ImageJ 和 Matlab 处理一组 DICOM 图像。 为了进行处理,我需要在 8 位深度版本的图像中找到灰度介于 110 和 120 之间的点。

问题是:Matlab 和 ImageJ 显示给我的图像是不同的,使用相同的源文件。 我假设其中一个在阅读时或显示之前正在对其灰度进行某种转换。但他们中的哪一个? 在这种情况下,我该如何校准才能让它们显示相同的图像?

下图显示了读取的图像的比较。 在imageJ的情况下,我只是打开了应用程序并打开了DICOM图像。

在第二种情况下,我使用了以下 MATLAB 脚本:

[图像] = dicomread('I1400001');

figure (1)
imshow(image,[]);
title('Original DICOM image');

那么是哪一个在更改原始图像,如果是这样,我该如何修改以使两个版本看起来相同?

【问题讨论】:

  • 原始 DICOM 是每像素 16 位吗? CT 图像是 16 位的,查看 BitsAllocated 和 BitsStored 来验证这一点(0028,0100 和 0028,0101)。我提出这个问题的原因是,您的图像处理可能更有意义 8 位显示转换之前处理全范围数据,即 WindowCenter 和 WindowWidth。

标签: matlab image-processing dicom imagej


【解决方案1】:

似乎默认情况下 ImageJ 在显示原始像素数据之前使用 DICOM 标头中的 Window Center and Window Width 标记到 perform window and level contrast adjustment,而 MATLAB 代码使用全范围的数据进行显示。取自ImageJ User's Guide

16 DICOM图像显示范围

对于 DICOM 图像,ImageJ 设置 基于 Window Center (0028, 1050) 的初始显示范围和 窗口宽度 (0028, 1051) 标签。在 W&L 或 B&C 窗口点击Reset,显示范围将设置为最小和最大 像素值。

因此,将 ImageJ 设置为使用全范围的像素值应该会为您提供与 MATLAB 中显示的图像相匹配的图像。或者,您可以在 MATLAB 中使用 dicominfo 从标题中获取这两个标记值,然后在显示数据之前对数据应用窗口/调平。您的代码可能看起来像这样(使用上面第一个链接中的公式):

img = dicomread('I1400001');
imgInfo = dicominfo('I1400001');
c = double(imgInfo.WindowCenter);
w = double(imgInfo.WindowWidth);
imgScaled = 255.*((double(img)-(c-0.5))/(w-1)+0.5);  % Rescale the data
imgScaled = uint8(min(max(imgScaled, 0), 255));      % Clip the edges

请注意,1) double 用于转换为双精度以避免整数运算,2) 数据假定为无符号 8 位整数(将结果转换回该整数),以及 3)我没有使用变量名称image,因为已经有一个具有该名称的函数。 ;)

【讨论】:

    【解决方案2】:

    归一化的 CT 图像(例如,在模态 LUT 转换之后)的强度值范围为 -1024 到位置 2000+,以 Hounsfield 单位 (HU) 为单位。因此,图像处理过滤器应该在这个图像数据范围内工作。另一方面,RGB 显示驱动程序只能显示 256 种灰度。为了克服这个限制,大多数典型的医学观察者应用窗口调平来创建图像视图,其中感兴趣的解剖结构具有适当的对比度以在 RGB 显示驱动程序中显示(将感兴趣的图像数据映射到 256 或更少的灰度阴影) .定义窗口级别设置的方法之一是使用窗口中心 (0028,1050) 和窗口宽度 (0028,1051) 标记。此外,单个 CT 图像可以具有多个窗口级别值,并且每一对基本上是感兴趣的解剖结构的视图。因此,使用视图数据进行图像处理,而不是实际的图像数据,可能不会产生一致的结果。

    【讨论】:

      猜你喜欢
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多