X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FgdcmOrientation.h;h=870bee43620edba224da86db640cc2827c84e114;hb=d92b9d9e464607d503446b6decf0713c6a712638;hp=1fa4b8a6e1d8ad7546a467791bbafd66599a860c;hpb=06a0fef14384fff540b619069c11e9dfaae2bbc6;p=gdcm.git diff --git a/src/gdcmOrientation.h b/src/gdcmOrientation.h index 1fa4b8a6..870bee43 100644 --- a/src/gdcmOrientation.h +++ b/src/gdcmOrientation.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmOrientation.h,v $ Language: C++ - Date: $Date: 2005/10/01 19:39:16 $ - Version: $Revision: 1.9 $ + Date: $Date: 2005/11/18 11:42:48 $ + Version: $Revision: 1.12 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,7 +19,7 @@ #ifndef GDCMORIENTATION_H #define GDCMORIENTATION_H -#include "gdcmBase.h" +#include "gdcmRefCounter.h" #include namespace gdcm @@ -57,7 +57,7 @@ class File; * * Example #1: * Imagine the patient, in "HFS" position. - * Sagital images are requested. + * Full body sagital images are requested. * All the cosines will be -1, 0, or +1; * "Patient Orientation" (deduced) will be "A/F". * Positive X axis is oriented 'towards patient's nose @@ -65,16 +65,16 @@ class File; * * Example #2: * Imagine now that patient has a stiffneck and his head is *turned* 30 degrees towards the left. - * Sagital images are requested. + * Head sagital images are requested. * One of the cosines will be almost 0.5 * Deduced "Patient Orientation" will be "AL\F" * (main X axis orientation is towards patient's nose, and a little bit towards the left) - * but the image is *perfectly* sagital ! + * but the image looks *perfectly* sagital (for the head, not for the patient) ! * * Imagine the patient's stiffneck causes head to be *bended* 30 degrees towards the left AND *turned* left. * Sagital images are requested... * You'll probabely have 3 letters for X axis and Y axis, and the image remains *perfectly* sagital ! - * The values are given within the 'imager referential', better than within the 'Patient Referential' ... + * The values are given within the 'Patient referential', *not* within the 'Organ referential' ... */ typedef enum { NotApplicable = 0, @@ -92,17 +92,22 @@ typedef enum { HeartSagitalInvert = -6 } OrientationType; -class GDCM_EXPORT Orientation : public Base +class GDCM_EXPORT Orientation : public RefCounter { + gdcmTypeMacro(Orientation); public: - Orientation() {} - ~Orientation() {} + static Orientation *New() {return new Orientation();} OrientationType GetOrientationType( File *file ); std::string GetOrientation ( File *file ); static const char* GetOrientationTypeString(OrientationType const o); - + +protected: +/// \brief Constructor + Orientation() {} +/// \brief Canonical Destructor + ~Orientation() {} private: Res VerfCriterion(int typeCriterion, double criterionNew, Res const &res); double CalculLikelyhood2Vec(vector3D const &refA, vector3D const &refB,