在本节,我们通过一个VTK filter把上一节的分割结果转为曲面模型。其拳代码如下:
Step7在Step6基础上修改。修改只是在StartRegionGrowing()方法内增加对结果图像的处理,使其产生曲面文件。代码如下:
if(m_ResultImage.IsNotNull())
{
m_ResultNode->SetProperty("volumerendering", mitk::BoolProperty::New(false));
vtkMarchingCubes* surfaceCreator = vtkMarchingCubes::New();
surfaceCreator->SetInput(m_ResultImage->GetVtkImageData());
surfaceCreator->SetValue(0, 1);
mitk::Surface::Pointer surface = mitk::Surface::New();
surface->SetVtkPolyData(surfaceCreator->GetOutput());
mitk::DataNode::Pointer surfaceNode = mitk::DataNode::New();
surfaceNode->SetData(surface);
m_DataStorage->Add(surfaceNode);
mitk::RenderingManager::GetInstance()->RequestUpdateAll();
std::cout << "8";
surfaceCreator->Delete();
}