Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef GDCMORIENTATION_H
00016 #define GDCMORIENTATION_H
00017
00018 #include "gdcmTypes.h"
00019
00020 namespace gdcm
00021 {
00022
00026 class GDCM_EXPORT Orientation
00027 {
00028 friend std::ostream& operator<<(std::ostream &_os, const Orientation &o);
00029 public:
00030 Orientation();
00031 ~Orientation();
00032
00034 void Print(std::ostream &) const;
00035
00036 typedef enum {
00037 UNKNOWN,
00038 AXIAL,
00039 CORONAL,
00040 SAGITTAL,
00041 OBLIQUE
00042 } OrientationType;
00043
00046 static OrientationType GetType(const double dircos[6]);
00047
00049 static void SetObliquityThresholdCosineValue(double val);
00050 static double GetObliquityThresholdCosineValue();
00051
00053 static const char *GetLabel(OrientationType type);
00054
00055 protected:
00056 static char GetMajorAxisFromPatientRelativeDirectionCosine(double x, double y, double z);
00057
00058 private:
00059 static double ObliquityThresholdCosineValue;
00060 };
00061
00062 inline std::ostream& operator<<(std::ostream &os, const Orientation &o)
00063 {
00064 o.Print( os );
00065 return os;
00066 }
00067
00068 }
00069
00070 #endif //GDCMORIENTATION_H