]> Creatis software - gdcm.git/blobdiff - src/gdcmOrientation.cxx
The bad hack I made to bypass illegal images where undefined length UN data
[gdcm.git] / src / gdcmOrientation.cxx
index ed2e0489a26a568fd81a2ce94f2ad57bafe729db..91cf0fe8b3d012c06ee08d4e4ec1f102563d0bdd 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmOrientation.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/10/21 16:02:01 $
-  Version:   $Revision: 1.18 $
+  Date:      $Date: 2007/09/17 12:20:00 $
+  Version:   $Revision: 1.26 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -21,7 +21,7 @@
 #include "gdcmDebug.h"
 #include <math.h> // for sqrt
 
-namespace gdcm 
+namespace GDCM_NAME_SPACE 
 {
 //--------------------------------------------------------------------
 //  THERALYS Algorithm to determine the most similar basic orientation
@@ -69,6 +69,8 @@ static const char  *OrientationTypeStrings[] = {
   NULL
 };
 
+/// \brief returns human readable interpretation of the most 
+///        similar basic orientation (Axial, Coronal, Sagital, ...) of the image
 const char* Orientation::GetOrientationTypeString(OrientationType const o)
 {
   int k = (int)o;
@@ -78,13 +80,15 @@ const char* Orientation::GetOrientationTypeString(OrientationType const o)
   return OrientationTypeStrings[k];
 }
 
+/// \brief returns of the most similar basic orientation
+///        (Axial, Coronal, Sagital, ...) of the image
 OrientationType Orientation::GetOrientationType( File *f )
 {
    float iop[6];
    bool succ = f->GetImageOrientationPatient( iop );
    if ( !succ )
    {
-      gdcmErrorMacro( "No Image Orientation (0020,0037)/(0020,0032) found in the file, cannot proceed." )
+      gdcmWarningMacro( "No Image Orientation (0020,0037)/(0020,0032) found in the file, cannot proceed." )
       return NotApplicable;
    }
    vector3D ori1;
@@ -270,21 +274,22 @@ have multiple letters in as described under "refinements" in C.7.6.1.1.1):
 */
 
 /**
- * \brief computes the Patient Orientation relative to the image plane
+ * \brief Computes the Patient Orientation relative to the image plane
  *          from the 'Image Orientation (Patient)'
- *          The first entry is the direction of the rows, given by the 
+ *          - or from 0020 0035Image Orientation (RET) -
+ *          - The first entry is the direction of the rows, given by the 
  *          direction of the last pixel in the first row from the first 
  *          pixel in that row. 
- *          The second entry is the direction of the columns, given by 
+ *          The second entry is the direction of the columns, given by 
  *          the direction of the last pixel in the first column from the
  *          first pixel in that column. 
  *          Anatomical direction is designated by the capital 
  *          letters: A (anterior), P (posterior), R (right),L (left), 
  *          H (head), F (foot).
- *          Refinements in the orientation descriptions are designated 
+ *          Refinements in the orientation descriptions are designated 
  *          by one or two additional letters in each value.
  *          Use it when "Patient Orientation" (0020,0020) is not found 
- * @return orientation string as "rawOrientation\columnsOrientation"
+ * @return orientation string as "rowsOrientation\columnsOrientation"
  */
 std::string Orientation::GetOrientation ( File *f )
 {
@@ -392,7 +397,7 @@ GetPatSliceOrient(gdcm::File &h)
   enum { transaxial, sagittal, coronal } slice_orientation;
 
   std::string patient_position = h.GetEntryByNumber(0x0018,0x5100);
-  if(patient_position == "gdcm::Unfound")
+  if(patient_position == GDCM_UNFOUND)
     {
     patient_position = "HF";
     }