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

メッシュではなく、画像 (構造化データ) に対して正しい視覚化を選択する必要があります。

マーチング キューブ アルゴリズムを実行してメッシュを取得してから polydata マッパーを使用するか、vtkvolumemapper から派生したものを使用することができます。

于 2015-06-17T14:35:43.390 に答える