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

Function SplitVectorImage

Modules/Multilabel/src/mitkLabelSetImageConverter.cpp:92–110  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90
91template <typename TPixel, unsigned int VDimensions>
92static void SplitVectorImage(const itk::VectorImage<TPixel, VDimensions>* image,
93 std::vector<mitk::Image::Pointer>& result)
94{
95 typedef itk::VectorImage<TPixel, VDimensions> VectorImageType;
96 typedef itk::Image<TPixel, VDimensions> ImageType;
97 typedef itk::VectorIndexSelectionCastImageFilter<VectorImageType, ImageType> VectorIndexSelectorType;
98
99 auto numberOfLayers = image->GetVectorLength();
100 for (decltype(numberOfLayers) layer = 0; layer < numberOfLayers; ++layer)
101 {
102 auto layerSelector = VectorIndexSelectorType::New();
103 layerSelector->SetInput(image);
104 layerSelector->SetIndex(layer);
105 layerSelector->Update();
106
107 mitk::Image::Pointer layerImage = mitk::GrabItkImageMemoryChannel(layerSelector->GetOutput(), nullptr, nullptr, false);
108 result.push_back(layerImage);
109 }
110}
111
112std::vector<mitk::Image::Pointer> mitk::SplitVectorImage(const Image* vecImage)
113{

Callers 2

DoReadMethod · 0.85

Calls 5

SetIndexMethod · 0.80
NewFunction · 0.50
SetInputMethod · 0.45
UpdateMethod · 0.45
GetOutputMethod · 0.45

Tested by

no test coverage detected