C++ VTM图像查看器图像质量问题

C++ VTM图像查看器图像质量问题,c++,vtk,C++,Vtk,我在VTK 8.1.0中遇到了一个奇怪的问题。我使用VTImageViewer显示从DICOM CT扫描重建的MPR图像。通过特殊的扫描,我在轴向投影上有伪影,正如你在第一张图像上看到的。另一个3DViewer中的同一扫描没有此类瑕疵(第二幅图像)。这些伪影存在于所有投影上,我在这里只选择一个最明显的投影。斜投影上没有伪影。3D图像(vtkImagePlaneWidget)上没有瑕疵。我以前从未在其他图像上看到过这样的人工制品。你知道是什么吗?可以做些什么来改善这种情况? 由于它显示为插值伪影

我在VTK 8.1.0中遇到了一个奇怪的问题。我使用VTImageViewer显示从DICOM CT扫描重建的MPR图像。通过特殊的扫描,我在轴向投影上有伪影,正如你在第一张图像上看到的。另一个3DViewer中的同一扫描没有此类瑕疵(第二幅图像)。这些伪影存在于所有投影上,我在这里只选择一个最明显的投影。斜投影上没有伪影。3D图像(vtkImagePlaneWidget)上没有瑕疵。我以前从未在其他图像上看到过这样的人工制品。你知道是什么吗?可以做些什么来改善这种情况?


由于它显示为插值伪影,您应该检查底层的
vtkimagerslice
以了解当前插值模式,并在必要时进行更改:

vtkSmartPointer<vtkResliceImageViewer> viewer = vtkSmartPointer<vtkResliceImageViewer>::New();
vtkResliceCursorWidget * wg =viewer->GetResliceCursorWidget();

vtkResliceCursorRepresentation * rep = 0;
if ( wg )
{
    rep = wg->GetResliceCursorRepresentation();
}
vtkImageReslice * reslice = 0;
if ( rep )
{
    reslice = dynamic_cast<vtkImageReslice*>( rep->GetReslice() );
}
if ( reslice )
{
    std::cout << "Old mode: " << reslice->GetInterpolationModeAsString() << std::endl;
    reslice->SetInterpolationModeToLinear();
    std::cout << "New mode: " << reslice->GetInterpolationModeAsString() << std::endl;
}

与我在VTK示例FourPanelViewer中看到的结果相同。您是否已将VTKimagerSlice
InterpolationMode
设置为最接近默认值的
VTK\u Resslice\u LINEAR
,我如何检查它?
Old mode: NearestNeighbor
New mode: Linear