Medical Imaging Interaction Toolkit  2024.12.99-0da743f6
Medical Imaging Interaction Toolkit
mitk::SortByImagePositionPatient Class Reference

Sort by distance of image origin along image normal (for use in DICOMTagBasedSorter). More...

#include <mitkSortByImagePositionPatient.h>

Inheritance diagram for mitk::SortByImagePositionPatient:
Collaboration diagram for mitk::SortByImagePositionPatient:

Public Member Functions

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

Protected Member Functions

 SortByImagePositionPatient (DICOMSortCriterion::Pointer secondaryCriterion=nullptr)
 
 ~SortByImagePositionPatient () override
 
 SortByImagePositionPatient (const SortByImagePositionPatient &other)
 
SortByImagePositionPatientoperator= (const SortByImagePositionPatient &other)
 
double InternalNumericDistance (const mitk::DICOMDatasetAccess *from, const mitk::DICOMDatasetAccess *to, bool &possible) const
 
- Protected Member Functions inherited from mitk::DICOMSortCriterion
 DICOMSortCriterion (DICOMSortCriterion::Pointer secondaryCriterion)
 
 ~DICOMSortCriterion () override
 
bool NextLevelIsLeftBeforeRight (const mitk::DICOMDatasetAccess *left, const mitk::DICOMDatasetAccess *right) const
 
 DICOMSortCriterion (const DICOMSortCriterion &other)
 
DICOMSortCriterionoperator= (const DICOMSortCriterion &other)
 

Additional Inherited Members

- Protected Attributes inherited from mitk::DICOMSortCriterion
DICOMSortCriterion::Pointer m_SecondaryCriterion
 

Detailed Description

Sort by distance of image origin along image normal (for use in DICOMTagBasedSorter).

To compare two datasets, their distance to the world origin is calculated. This distance is calculated along the image normals because we do not know the image orientation in advance, to any of the three coordinates could be identical for all datasets.

Note
This class assumes that the datasets have identical orientations!

Definition at line 33 of file mitkSortByImagePositionPatient.h.

Constructor & Destructor Documentation

◆ SortByImagePositionPatient() [1/2]

mitk::SortByImagePositionPatient::SortByImagePositionPatient ( DICOMSortCriterion::Pointer  secondaryCriterion = nullptr)
protected

◆ ~SortByImagePositionPatient()

mitk::SortByImagePositionPatient::~SortByImagePositionPatient ( )
overrideprotected

◆ SortByImagePositionPatient() [2/2]

mitk::SortByImagePositionPatient::SortByImagePositionPatient ( const SortByImagePositionPatient other)
protected

Member Function Documentation

◆ GetTagsOfInterest()

DICOMTagList mitk::SortByImagePositionPatient::GetTagsOfInterest ( ) const
overridevirtual

Tags used for comparison.

Implements mitk::DICOMSortCriterion.

◆ InternalNumericDistance()

double mitk::SortByImagePositionPatient::InternalNumericDistance ( const mitk::DICOMDatasetAccess from,
const mitk::DICOMDatasetAccess to,
bool &  possible 
) const
protected

◆ IsLeftBeforeRight()

bool mitk::SortByImagePositionPatient::IsLeftBeforeRight ( const mitk::DICOMDatasetAccess left,
const mitk::DICOMDatasetAccess right 
) const
overridevirtual

Answer the sorting question.

Implements mitk::DICOMSortCriterion.

◆ mitkClassMacro()

mitk::SortByImagePositionPatient::mitkClassMacro ( SortByImagePositionPatient  ,
DICOMSortCriterion   
)

◆ mitkNewMacro1Param()

mitk::SortByImagePositionPatient::mitkNewMacro1Param ( SortByImagePositionPatient  ,
DICOMSortCriterion::Pointer   
)

◆ NumericDistance()

double mitk::SortByImagePositionPatient::NumericDistance ( const mitk::DICOMDatasetAccess from,
const mitk::DICOMDatasetAccess to 
) const
overridevirtual

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

Implements mitk::DICOMSortCriterion.

◆ operator=()

SortByImagePositionPatient& mitk::SortByImagePositionPatient::operator= ( const SortByImagePositionPatient other)
protected

◆ operator==()

bool mitk::SortByImagePositionPatient::operator== ( const DICOMSortCriterion other) const
overridevirtual

◆ Print()

void mitk::SortByImagePositionPatient::Print ( std::ostream &  os) const
overridevirtual

brief describe this class in given stream.

Implements mitk::DICOMSortCriterion.


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