Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitkDataCollectionVectorImageIterator.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkDataCollectionVectorImageIterator_h
14 #define mitkDataCollectionVectorImageIterator_h
15 #include <mitkDataCollection.h>
17 
18 #include "itkImage.h"
19 
20 namespace mitk
21 {
22 
23  /*
24  * Iterate over a data collection and return a vector image for all selected
25  * modalities.
26  * TODO SW: this class needs a module test urgently.
27  */
28  template <typename TDataType, int ImageDimension>
30  {
31 
32  public:
33  typedef itk::VectorImage<TDataType, ImageDimension> VectorImageType;
34  typedef typename VectorImageType::Pointer VectorImagePointerType;
35  typedef itk::ImageRegionIterator<VectorImageType> VectorImageIteratorType;
36 
37  DataCollectionVectorImageIterator(DataCollection::Pointer collection, std::vector<std::string> featureNames);
38 
39  void ToBegin();
40 
41  bool IsAtEnd();
42 
44 
46 
54 
55  void
56  AddImage(typename itk::Image<TDataType, ImageDimension>::Pointer image, std::string name);
57 
59  typedef typename std::vector< SingleImageIterator > DataCollectionSingleImageIterators;
60 
61  private:
62 
63  DataCollection::Pointer m_Collection;
64  DataCollectionSingleImageIterators m_FeatureIterators;
65  };
66 
67 } /* namespace mitk */
68 
69 
70 #include <Iterators/mitkDataCollectionVectorImageIterator.cxx>
71 
72 #endif
mitk::DataCollectionVectorImageIterator::VectorImageIteratorType
itk::ImageRegionIterator< VectorImageType > VectorImageIteratorType
Definition: mitkDataCollectionVectorImageIterator.h:35
mitk::DataCollectionSingleImageIterator
Definition: mitkDataCollectionSingleImageIterator.h:30
itk::SmartPointer< Self >
mitk::DataCollectionVectorImageIterator::GetVectorImage
VectorImagePointerType GetVectorImage()
mitk
DataCollection - Class to facilitate loading/accessing structured data.
Definition: RenderingTests.dox:1
mitk::DataCollectionVectorImageIterator::SingleImageIterator
mitk::DataCollectionSingleImageIterator< TDataType, ImageDimension > SingleImageIterator
Definition: mitkDataCollectionVectorImageIterator.h:58
mitkDataCollection.h
mitk::DataCollectionVectorImageIterator::VectorImageType
itk::VectorImage< TDataType, ImageDimension > VectorImageType
Definition: mitkDataCollectionVectorImageIterator.h:33
mitk::DataCollectionVectorImageIterator
Definition: mitkDataCollectionVectorImageIterator.h:29
mitk::DataCollectionVectorImageIterator::ToBegin
void ToBegin()
mitk::DataCollectionVectorImageIterator::IsAtEnd
bool IsAtEnd()
mitk::DataCollectionVectorImageIterator::DataCollectionSingleImageIterators
std::vector< SingleImageIterator > DataCollectionSingleImageIterators
Definition: mitkDataCollectionVectorImageIterator.h:59
mitk::DataCollectionVectorImageIterator::AddImage
void AddImage(typename itk::Image< TDataType, ImageDimension >::Pointer image, std::string name)
mitk::DataCollectionVectorImageIterator::VectorImagePointerType
VectorImageType::Pointer VectorImagePointerType
Definition: mitkDataCollectionVectorImageIterator.h:34
mitk::DataCollectionVectorImageIterator::operator++
DataCollectionVectorImageIterator & operator++()
mitk::DataCollectionVectorImageIterator::DataCollectionVectorImageIterator
DataCollectionVectorImageIterator(DataCollection::Pointer collection, std::vector< std::string > featureNames)
mitkDataCollectionSingleImageIterator.h