X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmOrientation.cxx;h=be0aa685aecd79771d2ed351de32d0a691abea9e;hb=56ad78cdf3b5de32f0a94a38cd32ddc9f403ffc3;hp=ed2e0489a26a568fd81a2ce94f2ad57bafe729db;hpb=61b33e5e4541969c12c462a5ddec3be4f4751cea;p=gdcm.git diff --git a/src/gdcmOrientation.cxx b/src/gdcmOrientation.cxx index ed2e0489..be0aa685 100644 --- a/src/gdcmOrientation.cxx +++ b/src/gdcmOrientation.cxx @@ -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: 2008/08/18 12:27:10 $ + Version: $Revision: 1.27 $ 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 // for sqrt -namespace gdcm +namespace GDCM_NAME_SPACE { //-------------------------------------------------------------------- // THERALYS Algorithm to determine the most similar basic orientation @@ -33,7 +33,7 @@ namespace gdcm /** * \brief THERALYS' Algorithm to determine the most similar basic orientation - * (Axial, Coronal, Sagital) of the image + * (Axial, Coronal, Sagittal) of the image * \note Should be run on the first gdcm::File of a 'coherent' Serie * @return orientation code * # 0 : Not Applicable (neither 0020,0037 Image Orientation Patient @@ -42,33 +42,35 @@ namespace gdcm * # -1 : Axial invert * # 2 : Coronal * # -2 : Coronal invert - * # 3 : Sagital - * # -3 : Sagital invert + * # 3 : Sagittal + * # -3 : Sagittal invert * # 4 : Heart Axial * # -4 : Heart Axial invert * # 5 : Heart Coronal * # -5 : Heart Coronal invert - * # 6 : Heart Sagital - * # -6 : Heart Sagital invert + * # 6 : Heart Sagittal + * # -6 : Heart Sagittal invert */ static const char *OrientationTypeStrings[] = { "Not Applicable", "Axial", "Coronal", - "Sagital", + "Sagittal", "Heart Axial", "Heart Coronal", - "Heart Sagital", + "Heart Sagittal", "Axial invert", "Coronal invert", - "Sagital invert", + "Sagittal invert", "Heart Axial invert", "Heart Coronal invert", - "Heart Sagital invert", + "Heart Sagittal invert", NULL }; +/// \brief returns human readable interpretation of the most +/// similar basic orientation (Axial, Coronal, Sagittal, ...) 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, Sagittal, ...) 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"; }