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