vtkResliceImageViewer显示不正确(太暗)的dicom图像

时间:2016-07-06 13:33:28

标签: c++ image-processing vtk dicom itk

我正在使用vtkResliceImageViewer vtk库类来显示class RequestSolrCaller: def __init__(self, limit) self.limit = limit def __call__(self, offset) return request_solr(self.limit, offset) processor_pool.map(RequestSolrCaller(limit), offset) 。图像太暗了。我不知道我是否以错误的方式使用它或者它是一个错误(之前发布过类似的未解决问题:Correct display of DICOM images ITK-VTK (images too dark))。

我正在使用自定义DICOM files数据阅读器,我确信数据还可以。 DICOM类正确显示它。我确信这不是与vtkImageViewer2Modality LUTRescale Slope/InterceptVOI LUT相关的问题(值很好)。

我附上生成两张图片的基本代码示例。 window center/widthWindow center = 40是硬编码的,100%适合测试图像。带有红色背景的渲染窗口使用width = 400类显示图像,它非常好。使用vtkImageViewer2渲染具有绿色背景显示图像的窗口,它太暗了。当我设置vtkResliceImageViewer而不是40时,它看起来接近正确显示的图像。

两个clases都使用WindowLevel to -40来应用窗口转换。我尝试过使用该类的vtkImageMapToWindowLevelColorsSetOutputFormatToLuminance()方法,但这没有帮助。

有人有同样的问题并以某种方式解决了吗?

enter image description here

PassAlphaToOutputOff()

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。为了正确显示带有wl / ww转换注释的图像,请删除void vtkResliceImageViewer :: InstallPipeline()函数中的第327行。

第327行:this->WindowLevel->SetLookupTable(this->GetLookupTable());