4

我使用 itk::ImageSeriesReader 和 itk::GDCMImageIO 使用 ITK 读取 dicom 图像,然后使用 itk::FlipImageFilter 翻转图像(以获取图像的正确方向)并使用 itk::ImageToVTKImageFilter 将 itkImageData 转换为 vtkImageData。我在 QVTKWidget2 中使用 vtkResliceImageViewer 使用 VTK 可视化图像。我设置:

 (vtkResliceImageViewer)m_imageViewer[i]->SetColorWindow(windowWidthTAGvalue[0028|1051]);
 (vtkResliceImageViewer)m_imageViewer[i]->SetColorLevel(windowCenterTAGvalue[0028|1050]);

我设置了以下黑白 LookUpTable:

   vtkLookupTable* lutbw = vtkLookupTable::New();
    lutbw->SetTableRange(0,1000);
    lutbw->SetSaturationRange(0,0);
    lutbw->SetHueRange(0,0);
    lutbw->SetValueRange(0,1);
    lutbw->Build();

我的软件中显示的图像与其他软件中显示的相同图像相比要暗得多,我无法获得与其他 DICOM 查看器相同的效果

我的软件图像是正确的,当我在此示例中使用其他一些 LookUpTable 时,其他软件图像也会留下流我无法获得相同的效果(第 2 行图像),我右侧的图像比其他图像暗得多。

图像比较

我错过了什么为什么我的图像更暗我该怎么办?我对 dicom 进行了很多研究,但 ikt/vtk 找不到好的解决方案,感谢您的帮助。

4

2 回答 2

2

请检查重新缩放斜率 (0028,1053) 和重新缩放截距 (0028,1052) 的值,并在应用窗口级别之前应用模态 LUT 变换。您的数据集可能具有“SIGMOID”而不是“LINEAR”的 VOI LUT 函数 (0028,1056) 属性值。

于 2015-06-11T16:29:58.280 回答
2

我从您的一个 DICOM 文件 (brain_009.dcm) 中提取了图像数据,并查看了图像数据的直方图。看起来,图像中存储的最小值为 0,最大值为 960,无论解释数据是有符号还是无符号。此外,窗口宽度 (0028:1051) 具有无效值“0”,您不能使用它来显示图像。
因此,您的默认显示可以将窗口宽度设置为 960,将窗口中心设置为窗口宽度的一半加上最小值。

于 2015-06-22T18:45:36.633 回答