Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
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,
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 mitkDICOMSortCriterion_h
18 #define mitkDICOMSortCriterion_h
19 
20 #include "itkObjectFactory.h"
21 #include "mitkCommon.h"
22 
23 #include "mitkDICOMDatasetAccess.h"
24 
25 namespace mitk
26 {
27 
41 class MITKDICOMREADER_EXPORT DICOMSortCriterion : public itk::LightObject
42 {
43  public:
44 
45  mitkClassMacroItkParent( DICOMSortCriterion, itk::LightObject );
46 
48  DICOMTagList GetAllTagsOfInterest() const;
50  virtual DICOMTagList GetTagsOfInterest() const = 0;
51 
53  virtual bool IsLeftBeforeRight(const mitk::DICOMDatasetAccess* left, const mitk::DICOMDatasetAccess* right) const = 0;
54 
57  virtual double NumericDistance(const mitk::DICOMDatasetAccess* from, const mitk::DICOMDatasetAccess* to) const = 0;
58 
60  DICOMSortCriterion::ConstPointer GetSecondaryCriterion() const;
61 
63  virtual void Print(std::ostream& os) const = 0;
64 
65  virtual bool operator==(const DICOMSortCriterion& other) const = 0;
66 
67  protected:
68 
69  DICOMSortCriterion( DICOMSortCriterion::Pointer secondaryCriterion );
70  virtual ~DICOMSortCriterion();
71 
72  bool NextLevelIsLeftBeforeRight(const mitk::DICOMDatasetAccess* left, const mitk::DICOMDatasetAccess* right) const;
73 
75  DICOMSortCriterion& operator=(const DICOMSortCriterion& other);
76 
78 };
79 
80 }
81 
82 #endif
itk::SmartPointer< Self > Pointer
std::vector< DICOMTag > DICOMTagList
Definition: mitkDICOMTag.h:64
#define MITKDICOMREADER_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
DICOMSortCriterion::Pointer m_SecondaryCriterion
MITKCORE_EXPORT bool operator==(const InteractionEvent &a, const InteractionEvent &b)
itk::SmartPointer< const Self > ConstPointer
Interface to datasets that is presented to sorting classes such as DICOMDatasetSorter.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
A tag based sorting criterion for use in DICOMTagBasedSorter.