Medical Imaging Interaction Toolkit  2023.12.00
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 (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 mitkDICOMDatasetSorter_h
14 #define mitkDICOMDatasetSorter_h
15 
16 #include "itkObjectFactory.h"
17 #include "mitkCommon.h"
18 
19 #include "mitkDICOMDatasetAccess.h"
20 
21 namespace mitk
22 {
23 
40 class MITKDICOM_EXPORT DICOMDatasetSorter : public itk::LightObject
41 {
42  public:
43 
44  mitkClassMacroItkParent( DICOMDatasetSorter, itk::LightObject );
45 
49  virtual DICOMTagList GetTagsOfInterest() = 0;
50 
52  void SetInput(DICOMDatasetList filenames);
54  const DICOMDatasetList& GetInput() const;
55 
57  virtual void Sort() = 0;
58 
60  unsigned int GetNumberOfOutputs() const;
62  const DICOMDatasetList& GetOutput(unsigned int index) const;
64  DICOMDatasetList& GetOutput(unsigned int index);
65 
67  virtual void PrintConfiguration(std::ostream& os, const std::string& indent = "") const = 0;
68 
69  virtual bool operator==(const DICOMDatasetSorter& other) const = 0;
70 
71  protected:
72 
74  ~DICOMDatasetSorter() override;
75 
77  DICOMDatasetSorter& operator=(const DICOMDatasetSorter& other);
78 
79  void ClearOutputs();
80  void SetNumberOfOutputs(unsigned int numberOfOutputs);
81  void SetOutput(unsigned int index, const DICOMDatasetList& output);
82 
83  private:
84 
85  DICOMDatasetList m_Input;
86  std::vector< DICOMDatasetList > m_Outputs;
87 };
88 
89 }
90 
91 #endif
mitkClassMacroItkParent
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:45
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::DICOMTagList
std::vector< DICOMTag > DICOMTagList
Definition: mitkDICOMTag.h:59
mitk::operator==
MITKCORE_EXPORT bool operator==(const InteractionEvent &a, const InteractionEvent &b)
mitkCommon.h
mitkDICOMDatasetAccess.h
MITKDICOM_EXPORT
#define MITKDICOM_EXPORT
Definition: MitkDICOMExports.h:15
mitk::DICOMDatasetSorter
The sorting/splitting building-block of DICOMITKSeriesGDCMReader.
Definition: mitkDICOMDatasetSorter.h:40
mitk::DICOMDatasetList
std::vector< DICOMDatasetAccess * > DICOMDatasetList
Definition: mitkDICOMDatasetAccess.h:70