我在VTK 8.1.0中遇到了vtkResliceImageViewer的奇怪问题。我使用vtkResliceImageViewer显示来自DICOM CT扫描的MPR图像重建。并与特定的扫描我有轴向投影神器,你可以在第一图像上看到。在另一个3DViewer相同的扫描就没有这样的伪像(第二图像)。这些伪影存在于所有投影上,在这里我仅选择最明显的一种。倾斜投影上没有伪影。 3D图像(vtkImagePlaneWidget)上没有伪影。我之前在其他图像上还没有看到过这种伪像。你有什么想法吗?如何改善情境?
答案 0 :(得分:1)
由于它显示为插值工件,因此应检查当前插值模式的基础vtkImageReslice
并在必要时进行更改:
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;
}
vtkImageReslice
(link)默认使用最近的邻居,vtkResliceImageViewer
似乎没有更改。
打印出的外观为:
Old mode: NearestNeighbor
New mode: Linear