0

我可以使用带有以下代码的 vtkNIFTIImageReader 显示切片图像:https ://github.com/dgobbi/vtk-dicom/blob/master/Examples/TestNIFTIDisplay.cxx

但是,当我尝试将 NIFTI 文件渲染为 3D 对象时,它总是出现空。如何在 VTK 中显示 NIFTI 对象

    vtkSmartPointer<vtkNIFTIImageReader> reader =
      vtkSmartPointer<vtkNIFTIImageReader>::New();

   reader->SetFileName (filename); 
   reader->Update();

   vtkSmartPointer<vtkPolyDataMapper> mapper =
      vtkSmartPointer<vtkPolyDataMapper>::New();
   mapper->SetInputConnection(reader->GetOutputPort());

   vtkSmartPointer<vtkActor> actor =
      vtkSmartPointer<vtkActor>::New();
   actor->SetMapper(mapper);

   vtkSmartPointer<vtkRenderer> renderer =
      vtkSmartPointer<vtkRenderer>::New();
   vtkSmartPointer<vtkRenderWindow> renderWindow =
      vtkSmartPointer<vtkRenderWindow>::New();
   renderWindow->AddRenderer(renderer);

   vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
      vtkSmartPointer<vtkRenderWindowInteractor>::New();
   renderWindowInteractor->SetRenderWindow(renderWindow);
   renderer->AddActor(actor);

   renderWindow->Render();
   renderWindowInteractor->Start();
4

1 回答 1

0

您必须为图像(结构化数据)而不是网格选择正确的可视化。

您可以尝试运行行进立方体算法以获得网格,然后使用多数据映射器,或使用从 vtkvolumemapper 派生的东西。

于 2015-06-17T14:35:43.390 回答