Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkDICOMSortCriterion.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 mitkDICOMSortCriterion_h
14 #define mitkDICOMSortCriterion_h
15 
16 #include "itkObjectFactory.h"
17 #include "mitkCommon.h"
18 
19 #include "mitkDICOMDatasetAccess.h"
20 
21 namespace mitk
22 {
23 
37 class MITKDICOM_EXPORT DICOMSortCriterion : public itk::LightObject
38 {
39  public:
40 
41  mitkClassMacroItkParent( DICOMSortCriterion, itk::LightObject );
42 
44  DICOMTagList GetAllTagsOfInterest() const;
46  virtual DICOMTagList GetTagsOfInterest() const = 0;
47 
49  virtual bool IsLeftBeforeRight(const mitk::DICOMDatasetAccess* left, const mitk::DICOMDatasetAccess* right) const = 0;
50 
53  virtual double NumericDistance(const mitk::DICOMDatasetAccess* from, const mitk::DICOMDatasetAccess* to) const = 0;
54 
56  DICOMSortCriterion::ConstPointer GetSecondaryCriterion() const;
57 
59  virtual void Print(std::ostream& os) const = 0;
60 
61  virtual bool operator==(const DICOMSortCriterion& other) const = 0;
62 
63  protected:
64 
65  DICOMSortCriterion( DICOMSortCriterion::Pointer secondaryCriterion );
66  ~DICOMSortCriterion() override;
67 
68  bool NextLevelIsLeftBeforeRight(const mitk::DICOMDatasetAccess* left, const mitk::DICOMDatasetAccess* right) const;
69 
70  explicit DICOMSortCriterion(const DICOMSortCriterion& other);
71  DICOMSortCriterion& operator=(const DICOMSortCriterion& other);
72 
73  DICOMSortCriterion::Pointer m_SecondaryCriterion;
74 };
75 
76 }
77 
78 #endif
mitk::DICOMDatasetAccess
Interface to datasets that is presented to sorting classes such as DICOMDatasetSorter.
Definition: mitkDICOMDatasetAccess.h:45
mitk::DICOMSortCriterion::m_SecondaryCriterion
DICOMSortCriterion::Pointer m_SecondaryCriterion
Definition: mitkDICOMSortCriterion.h:73
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
mitk::DICOMSortCriterion
A tag based sorting criterion for use in DICOMTagBasedSorter.
Definition: mitkDICOMSortCriterion.h:37
mitkDICOMDatasetAccess.h
MITKDICOM_EXPORT
#define MITKDICOM_EXPORT
Definition: MitkDICOMExports.h:15