Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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