15 #include "itkImageRegionConstIterator.h" 17 #include "itkComposeImageFilter.h" 19 template<
typename TDataType,
int ImageDimension>
23 m_Collection(collection)
25 for(std::vector<std::string>::iterator featureNameIterator = featureNames.begin();
26 featureNameIterator != featureNames.end();
27 ++featureNameIterator)
30 m_FeatureIterators.push_back(featureIterator);
34 template<
typename TDataType,
int ImageDimension>
38 for(
typename DataCollectionSingleImageIterators::iterator it = m_FeatureIterators.begin();
39 it != m_FeatureIterators.end();
46 template<
typename TDataType,
int ImageDimension>
50 return m_FeatureIterators.at(0).IsAtEnd();
53 template<
typename TDataType,
int ImageDimension>
57 for(
typename DataCollectionSingleImageIterators::iterator it = m_FeatureIterators.begin();
58 it != m_FeatureIterators.end();
66 template<
typename TDataType,
int ImageDimension>
77 template<
typename TDataType,
int ImageDimension>
81 typedef typename itk::Image<TDataType, ImageDimension>
ImageType;
83 typename itk::ComposeImageFilter<ImageType, VectorImageType>::Pointer composeImageFilter =
84 itk::ComposeImageFilter<ImageType, VectorImageType>::New();
87 for (
unsigned i = 0; i < m_FeatureIterators.size(); i++)
89 composeImageFilter->SetInput(i, m_FeatureIterators.at(i).GetImage());
92 composeImageFilter->Update();
94 composeImageFilter->GetOutput()->SetRequestedRegionToLargestPossibleRegion();
96 return composeImageFilter->GetOutput();
99 template<
typename TDataType,
int ImageDimension>
102 typename itk::Image<TDataType, ImageDimension>::Pointer
image, std::string name)
104 m_FeatureIterators.at(m_FeatureIterators.size()-1).
AddImage(image, name);
itk::Image< unsigned char, 3 > ImageType
void AddImage(typename itk::Image< TDataType, ImageDimension >::Pointer image, std::string name)
DataCollectionVectorImageIterator & operator++()
VectorImagePointerType GetVectorImage()
mitk::Image::Pointer image
DataCollectionVectorImageIterator(DataCollection::Pointer collection, std::vector< std::string > featureNames)
VectorImageType::Pointer VectorImagePointerType