Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::DICOMSortCriterion Class Referenceabstract

A tag based sorting criterion for use in DICOMTagBasedSorter. More...

#include <mitkDICOMSortCriterion.h>

Inheritance diagram for mitk::DICOMSortCriterion:
Collaboration diagram for mitk::DICOMSortCriterion:

Public Member Functions

 mitkClassMacroItkParent (DICOMSortCriterion, itk::LightObject)
 
DICOMTagList GetAllTagsOfInterest () const
 Tags used for comparison (includes seconary criteria). More...
 
virtual DICOMTagList GetTagsOfInterest () const =0
 Tags used for comparison. More...
 
virtual bool IsLeftBeforeRight (const mitk::DICOMDatasetAccess *left, const mitk::DICOMDatasetAccess *right) const =0
 Answer the sorting question. More...
 
virtual double NumericDistance (const mitk::DICOMDatasetAccess *from, const mitk::DICOMDatasetAccess *to) const =0
 Calculate a distance between two datasets. This ansers the question of consecutive datasets. More...
 
DICOMSortCriterion::ConstPointer GetSecondaryCriterion () const
 The fallback criterion. More...
 
virtual void Print (std::ostream &os) const =0
 brief describe this class in given stream. More...
 
virtual bool operator== (const DICOMSortCriterion &other) const =0
 

Protected Member Functions

 DICOMSortCriterion (DICOMSortCriterion::Pointer secondaryCriterion)
 
virtual ~DICOMSortCriterion ()
 
bool NextLevelIsLeftBeforeRight (const mitk::DICOMDatasetAccess *left, const mitk::DICOMDatasetAccess *right) const
 
 DICOMSortCriterion (const DICOMSortCriterion &other)
 
DICOMSortCriterionoperator= (const DICOMSortCriterion &other)
 

Protected Attributes

DICOMSortCriterion::Pointer m_SecondaryCriterion
 

Detailed Description

A tag based sorting criterion for use in DICOMTagBasedSorter.

This class is used within std::sort (see DICOMTagBasedSorter::Sort()) and has to answer a simple question by implementing IsLeftBeforeRight(). Each time IsLeftBeforeRight() is called, the method should return whether the left dataset should be sorted before the right dataset.

Because there are identical tags values quite oftenly, a DICOMSortCriterion will always hold a secondary DICOMSortCriterion. In cases of equal tag values, the decision is refered to the secondary criterion.

Definition at line 41 of file mitkDICOMSortCriterion.h.

Constructor & Destructor Documentation

mitk::DICOMSortCriterion::DICOMSortCriterion ( DICOMSortCriterion::Pointer  secondaryCriterion)
protected

Definition at line 20 of file mitkDICOMSortCriterion.cpp.

mitk::DICOMSortCriterion::~DICOMSortCriterion ( )
protectedvirtual

Definition at line 27 of file mitkDICOMSortCriterion.cpp.

mitk::DICOMSortCriterion::DICOMSortCriterion ( const DICOMSortCriterion other)
protected

Definition at line 32 of file mitkDICOMSortCriterion.cpp.

Member Function Documentation

mitk::DICOMTagList mitk::DICOMSortCriterion::GetAllTagsOfInterest ( ) const

Tags used for comparison (includes seconary criteria).

Definition at line 58 of file mitkDICOMSortCriterion.cpp.

References GetTagsOfInterest(), and m_SecondaryCriterion.

mitk::DICOMSortCriterion::ConstPointer mitk::DICOMSortCriterion::GetSecondaryCriterion ( ) const

The fallback criterion.

Definition at line 51 of file mitkDICOMSortCriterion.cpp.

virtual DICOMTagList mitk::DICOMSortCriterion::GetTagsOfInterest ( ) const
pure virtual

Tags used for comparison.

Implemented in mitk::DICOMSortByTag, and mitk::SortByImagePositionPatient.

Referenced by GetAllTagsOfInterest().

virtual bool mitk::DICOMSortCriterion::IsLeftBeforeRight ( const mitk::DICOMDatasetAccess left,
const mitk::DICOMDatasetAccess right 
) const
pure virtual

Answer the sorting question.

Implemented in mitk::DICOMSortByTag, and mitk::SortByImagePositionPatient.

mitk::DICOMSortCriterion::mitkClassMacroItkParent ( DICOMSortCriterion  ,
itk::LightObject   
)
bool mitk::DICOMSortCriterion::NextLevelIsLeftBeforeRight ( const mitk::DICOMDatasetAccess left,
const mitk::DICOMDatasetAccess right 
) const
protected

Definition at line 76 of file mitkDICOMSortCriterion.cpp.

virtual double mitk::DICOMSortCriterion::NumericDistance ( const mitk::DICOMDatasetAccess from,
const mitk::DICOMDatasetAccess to 
) const
pure virtual

Calculate a distance between two datasets. This ansers the question of consecutive datasets.

Implemented in mitk::DICOMSortByTag, and mitk::SortByImagePositionPatient.

mitk::DICOMSortCriterion & mitk::DICOMSortCriterion::operator= ( const DICOMSortCriterion other)
protected
virtual bool mitk::DICOMSortCriterion::operator== ( const DICOMSortCriterion other) const
pure virtual
virtual void mitk::DICOMSortCriterion::Print ( std::ostream &  os) const
pure virtual

brief describe this class in given stream.

Implemented in mitk::DICOMSortByTag, and mitk::SortByImagePositionPatient.

Member Data Documentation

DICOMSortCriterion::Pointer mitk::DICOMSortCriterion::m_SecondaryCriterion
protected

Definition at line 77 of file mitkDICOMSortCriterion.h.

Referenced by GetAllTagsOfInterest(), and operator=().


The documentation for this class was generated from the following files: