vtk - 使用 ITK 时 DICOM 图像太暗

标签 vtk dicom itk

我正在尝试使用 ITK 读取图像并使用 VTK 显示。

但是有一个问题一直困扰着我。

我使用类 itkGDCMImageIO 和 itkImageSeriesReader 读取图像。

阅读后,我可以做两件不同的事情:

1. 我可以使用 itkImageToVTKImageFilter 将 ITK 图像转换为 vtkImageData,并使用 vtkImageReslicer 获取所有三个轴。然后,我使用类 vtkImageMapper、vtkActor2D、vtkRenderer 和 QVTKWidget 来显示图像。

在这种情况下,当我显示图像时,有几个颜色问题。其中一些显示得非常明亮,而另一些则非常暗,您几乎看不到它们。

2。 第二种情况是注册管道。在这里,我像以前一样阅读图像,然后使用 ITK 软件指南中有关注册的章节中显示的类。然后我重新采样图像并使用 itkImageSeriesWriter。

这就是问题出现的时候。将图像写入文件后,我将这个新图像与我在 XMedcon 软件中用作输入的图像进行比较。如果我写的图像在我的软件中显示得太亮,当我在 XMedcon 中比较它们时没有变化。否则,如果图像在我的软件中太暗,在 XMedcon 中就会显得一团糟。

我注意到,在比较两个图像(原始图像和新图像)时,在这两种情况下,模态、像素尺寸和 glmax 都发生了变化。

我想问题出在 glmax 上,因为主要的变化发生在较暗的图像上。

我真的不知道该怎么办。这与颜色级别/窗口有关吗?最奇怪的是,所有图片都非常相似,标签相同,只有部分图片在显示/写入时显示错误。

最佳答案

我不熟悉 VTK/ITK 的具体细节,但在我看来这个问题比这更普遍。医学图像具有高动态范围,如果窗口未设置为某个适当的范围,图像通常会显得很暗或很亮。 DICOM 标签 Window Center (0028, 1050) 和 Window Width (0028, 1051) 将包括模态选择的一些默认窗口设置。通常这些值是合理的,但并非总是如此。请参阅 DICOM standard 的第 3 部分(11_03pu.pdf 是文件名)C.11.2.1.2 节详细介绍了如何缩放原始图像像素以进行显示。一般的想法是,您需要对图像应用线性缩放以获得适当的显示像素值。

关于vtk - 使用 ITK 时 DICOM 图像太暗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218528/

相关文章:

c++ - 错误 :no override found for 'vtkPolyDataMapper'

c++ - 尝试使用 Qt 和 VTK 显示 DICOM 文件时出现未定义的引用问题

c++ - 如何使用区域增长算法来定义感兴趣区域?

python - 如何选择vtkVolumeMapper使用的标量

python - 如何使用 pydicom 创建 JPEG 压缩 DICOM 数据集?

iphone - Objective C 语言的 Dicom 图像处理库

DICOM 支持的视频格式

c++ - 在 ITK 管道中使用 C++ 函数

python - 出现空白图像

image - 从图像文件中提取感兴趣区域而不读取整个图像