Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkDICOMDatasetSorter.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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef mitkDICOMDatasetSorter_h
18 #define mitkDICOMDatasetSorter_h
19 
20 #include "itkObjectFactory.h"
21 #include "mitkCommon.h"
22 
23 #include "mitkDICOMDatasetAccess.h"
24 
25 namespace mitk
26 {
27 
44 class MITKDICOMREADER_EXPORT DICOMDatasetSorter : public itk::LightObject
45 {
46  public:
47 
48  mitkClassMacroItkParent( DICOMDatasetSorter, itk::LightObject )
49 
50 
53  virtual DICOMTagList GetTagsOfInterest() = 0;
54 
56  void SetInput(DICOMDatasetList filenames);
58  const DICOMDatasetList& GetInput() const;
59 
61  virtual void Sort() = 0;
62 
64  unsigned int GetNumberOfOutputs() const;
66  const DICOMDatasetList& GetOutput(unsigned int index) const;
68  DICOMDatasetList& GetOutput(unsigned int index);
69 
71  virtual void PrintConfiguration(std::ostream& os, const std::string& indent = "") const = 0;
72 
73  virtual bool operator==(const DICOMDatasetSorter& other) const = 0;
74 
75  protected:
76 
78  virtual ~DICOMDatasetSorter();
79 
81  DICOMDatasetSorter& operator=(const DICOMDatasetSorter& other);
82 
83  void ClearOutputs();
84  void SetNumberOfOutputs(unsigned int numberOfOutputs);
85  void SetOutput(unsigned int index, const DICOMDatasetList& output);
86 
87  private:
88 
89  DICOMDatasetList m_Input;
90  std::vector< DICOMDatasetList > m_Outputs;
91 };
92 
93 }
94 
95 #endif
The sorting/splitting building-block of DICOMITKSeriesGDCMReader.
std::vector< DICOMTag > DICOMTagList
Definition: mitkDICOMTag.h:64
#define MITKDICOMREADER_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
MITKCORE_EXPORT bool operator==(const InteractionEvent &a, const InteractionEvent &b)
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
std::vector< DICOMDatasetAccess * > DICOMDatasetList