今天学习vtk的三维切面提取,主要参考的是东灵工作室的《VTK图形图像开发进阶》,书中使用VTK5.8的setInput()
vtkSmartPointer<vtkImageMapToColors> colorMap =vtkSmartPointer<vtkImageMapToColors>::New();
colorMap->SetLookupTable(colorTable);
colorMap->SetInputConnection(reslice->GetOutputPort());
vtkSmartPointer<vtkImageActor> imgActor =vtkSmartPointer<vtkImageActor>::New();
imgActor->SetInput(colorMap->GetOutput());
自己是使用VTK7.1,简单地用SetInputData()替换SetInput(),结果显示一片黑,预想的切片图像并没有显示出来,查阅资料,看出SetInputData()是没有建立管道连接的,因此图像并没有更新进去,所以需要在SetInputData()之前进行更新
colorMap->Update();
脑部三维切片图像正常显示出来。
参考资料:
1.https://www.vtk.org/Wiki/VTK/VTK_6_Migration/Replacement_of_SetInput