4

我正在查看计算机断层扫描 (CT) DICOM 图像。这些最初是未压缩的 DICOM 图像。我有这些 DICOM 图像的无损 J2K 压缩形式:传输语法 = 1.2.840.10008.1.2.4.90(JPEG-2K 无损)。当我将这些 DICOM 图像解压缩回来时: Transfer Syntax =1.2.840.10008.1.2.1 (Little Endian Explicit) 并在 DICOM 查看器中并排查看压缩和未压缩的 DICOM 图像然后我观察到 - 压缩和未压缩的图像需要用于查看的不同“窗口级别”(“窗口级别”=窗口中心的组合'= WC =亮度和“窗口宽度”

所以问题

  1. 这种级别的变化(窗口中心和窗口宽度)是否归因于我的编解码器的问题。就像我的编解码器因为处理不正确而弄乱了像素数据一样?
  2. 有没有办法通过调整 DICOM 标头中的字段来解决这个问题?

我查看了 Dicom Image 的 Post on Window width and center 计算。虽然那篇文章告诉我应用重新缩放截距和斜率来将图像的像素值转换为对应用程序有意义的值,但我试图弄清楚我如何与之相关

  • 我在视觉上看到的(原始和调整后的窗口中心和窗口宽度之间的关系)
  • 有没有一种方法可以以编程方式关联像素值以获得 wc、ww、比例截距斜率的值?

我还检查了(正确的 DICOM JPEG(RGB) 像素处理逻辑,用于应用窗口宽度和级别过滤器)——但这似乎与图像的渲染有关。我的问题与调整 DICOM 标头(wc?ww?比例截距?斜率?)有关,以使观众能够正确呈现它。查看 DICOM 像素数据,我能否根据像素数据元素中的像素值达到这些 28 组元素的适当级别。是否有一个已知的函数来计算这种东西?

我的图像是单色的

非常感谢

约格什·德维

4

2 回答 2

2

请检查压缩图像的 Pixel Representation (0028, 0103) 标签的值。值 1 表示应用模态 LUT 转换后对图像数据进行签名。如果在解压缩过程中应用模态 LUT 转换,则在保存为 Little Endian 时,应在未压缩的数据集中将它们重置(将斜率重新缩放为 1,将截距重新缩放为 0)。否则,查看器将再次对转换后的图像数据应用模态 LUT 转换。

于 2016-01-07T19:11:51.440 回答
1

如果您知道现实世界的范围,您应该能够计算比例和截距以在标题中修复,而其他所有内容(如窗口级别)保持不变。计算如下...

从好的图像中,如果你找到预缩放数据的范围,它可能看起来像这样:

min1 = 100
max1 = 1900

使用标题比例/截取信息...

scale1 = 5
intercept1 = 500

...然后您可以将其转换为真实的、有意义的值:

(min1 * scale1) + intercept1 = real-min
(max1 * scale1) + intercept1 = real-max

real-min = 1000
real-max = 10000
real-range = 9000

在坏图像中,您需要忽略标头,只需找到预缩放的数据范围。例如:

min2 = -100
max2 = 17900
range2 = 18000

现在使用真实世界范围计算比例和截距:

scale2 = (real-range / range2) = 0.5
intercept2 = real-max - (max2 * scale2) = 1050

应用它们,您可以测试您是否获得了正确的实际值:

(min2 * scale2) + intercept2 = (-100 * 0.5) + 1050 = 1000 = real-min
(max2 * scale2) + intercept2 = (17900 * 0.5) + 1050 = 10000 = real-max
于 2016-01-07T15:21:03.907 回答