MCPcopy Create free account
hub / github.com/MITK/MITK / ExtractPerLabel

Method ExtractPerLabel

Modules/Multilabel/src/mitkMultiLabelSurfaceNetsExtractor.cpp:103–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

101}
102
103std::map<mitk::MultiLabelSurfaceNetsExtractor::LabelValueType, vtkSmartPointer<vtkPolyData>>
104mitk::MultiLabelSurfaceNetsExtractor::ExtractPerLabel(
105 vtkImageData* groupImage,
106 const std::vector<LabelValueType>& labelValues)
107{
108 std::map<LabelValueType, vtkSmartPointer<vtkPolyData>> results;
109 if (groupImage == nullptr || labelValues.empty())
110 {
111 return results;
112 }
113
114 PrepareInput(groupImage);
115
116 m_SurfaceNets->SetInputData(groupImage);
117 this->ConfigureLabels(labelValues);
118 m_SurfaceNets->SetOutputStyleToSelected();
119
120 for (auto label : labelValues)
121 {
122 m_SurfaceNets->InitializeSelectedLabelsList();
123 m_SurfaceNets->AddSelectedLabel(static_cast<double>(label));
124 m_SurfaceNets->Modified(); // VTK 9.5.2 cache bust, see Extract().
125
126 auto polydata = vtkSmartPointer<vtkPolyData>::New();
127 m_NormalsFilter->Update();
128 polydata->DeepCopy(m_NormalsFilter->GetOutput());
129
130 if (polydata->GetNumberOfCells() > 0)
131 results[label] = polydata;
132 }
133
134 return results;
135}
136
137vtkSmartPointer<vtkMatrix4x4> mitk::MultiLabelSurfaceNetsExtractor::GetImageToWorldMatrix(const BaseGeometry* geometry)
138{

Calls 8

ConfigureLabelsMethod · 0.95
PrepareInputFunction · 0.85
DeepCopyMethod · 0.80
NewFunction · 0.50
emptyMethod · 0.45
ModifiedMethod · 0.45
UpdateMethod · 0.45
GetOutputMethod · 0.45