|
DCMTK
Version 3.7.0
OFFIS DICOM Toolkit
|
Sorter implementing the FrameSorter interface that sorts frames by their Image Position (Patient) attribute. More...
Inheritance diagram for FrameSorterIPP:Classes | |
| struct | OrderedFrameItem |
| Structure that holds a frame for sorting. More... | |
Public Member Functions | |
| ~FrameSorterIPP () | |
| Default constructor, does nothing. | |
| OFString | getDescription () |
| Get description of the sorting algorithm this class uses. More... | |
| void | getSliceDirection (Results &results) |
| Get the slice direction from Image Orientation (Patient) More... | |
| void | sort (Results &results) |
| Performs actual sorting. More... | |
Public Member Functions inherited from FrameSorter | |
| FrameSorter () | |
| Default constructor, does nothing. | |
| void | setSorterInput (FGInterface *fg) |
| Set input data for this sorter. More... | |
| virtual | ~FrameSorter () |
| Virtual default desctructor, does nothing. | |
Private Member Functions | |
| OFVector< Float64 > | cross_3d (OFVector< Float64 > v1, OFVector< Float64 > v2) |
| Calculate the cross product of two 3D vectors. More... | |
| Float64 | dot (OFVector< Float64 > v1, OFVector< Float64 > v2) |
| Calculate the dot product of two 3D vectors. More... | |
| void | normalize (OFVector< Float64 > &v) |
| Normalize a 3D vector. More... | |
Static Private Member Functions | |
| static int | compareIPPKeys (const void *a, const void *b) |
| Compare function for qsort to sort OrderedFrameItem by their key. More... | |
Private Attributes | |
| OFVector< Float64 > | sliceDirection |
| The slice direction vector. | |
Additional Inherited Members | |
Protected Attributes inherited from FrameSorter | |
| FGInterface * | m_fg |
| Pointer to functional groups to work on. Not owned by this class. | |
Sorter implementing the FrameSorter interface that sorts frames by their Image Position (Patient) attribute.
The sorting is done by projecting the Image Position (Patient) on the slice direction (as defined by the Image Orientation (Patient) attribute).
|
staticprivate |
Compare function for qsort to sort OrderedFrameItem by their key.
Compare function to compare OrderedFrameItem by their key.
| a | Pointer to first OrderedFrameItem |
| b | Pointer to second OrderedFrameItem |
| a | Pointer to first OrderedFrameItem |
| b | Pointer to second OrderedFrameItem |
References FrameSorterIPP::OrderedFrameItem::key.
|
inlineprivate |
Calculate the cross product of two 3D vectors.
| v1 | First vector |
| v2 | Second vector |
References OFVector< T >::push_back().
Calculate the dot product of two 3D vectors.
| v1 | First vector |
| v2 | Second vector |
|
inlinevirtual |
Get description of the sorting algorithm this class uses.
Implements FrameSorter.
|
inline |
Get the slice direction from Image Orientation (Patient)
| results | The results structure to hold error code in case of failure |
Referenced by sort().
|
inlineprivate |
Normalize a 3D vector.
| v | The vector to normalize (output parameter) |
References OFMath::sqrt().
|
inlinevirtual |
Performs actual sorting.
Sets given results.
| results | The results produced by IPP sorter (list of frame numbers sorted by Image Position (Patient) projection on slice direction, and EC_Normal as error code in case of success) |
Implements FrameSorter.
References DcmFGTypes::DCMFG_MAX_FRAMES, EC_Normal, FrameSorter::Results::errorCode, FG_EC_InvalidData, FG_EC_TooManyItems, FGInterface::getNumberOfFrames(), getSliceDirection(), and FrameSorter::m_fg.