]> Creatis software - gdcm.git/blobdiff - Testing/TestFileAccessors.cxx
use GDCM_NAME_SPACE:: instead of gdcm::, even in Examples ...
[gdcm.git] / Testing / TestFileAccessors.cxx
index c48a69cf4e9185fb64b8cf9f56cc9a2103dd4776..a685a593f6d89729f9f062b493f7e17e02f8715c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestFileAccessors.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/25 15:56:31 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2008/09/15 15:49:21 $
+  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
 //Generated file:
 #include "gdcmDataImages.h"
 
-#define TestMethodMacro(mode,obj,name) \
-   try \
-   { \
-      std::cout << "   " << #name << "() : "      << mode << obj->name() << std::endl; \
-   } \
-   catch(...) \
-   { \
-      std::cout << "   --> Can't access to the '" << #name << "' method !" << std::endl; \
-      f->Delete(); \
-      return 1; \
+#define TestMethodMacro(mode,obj,name)                \
+   try                                                \
+   {                                                  \
+      std::cout <<"   "<< #name << "() : "            \
+                << std::endl;                         \
+      std::cout << "                     "            \
+                << mode << obj->name() << std::endl;  \
+   }                                                  \
+   catch(...)                                         \
+   {                                                  \
+      std::cout << "   --> Can't access to the '"     \
+                << #name << "' method !" << std::endl;\
+      f->Delete();                                    \
+      return 1;                                       \
    }
 
-
-int TestFileAccessors(int, char *[])
+int TestFileAccessors(int argc, char *argv[])
 {
    int i = 0;
 
-   double iop[6];
+   float iop[6];
+   float ipp[3];
 
+  // GDCM_NAME_SPACE::Debug::DebugOn();
+   
    while( gdcmDataImages[i] != 0 )
    {
    
-      if (gdcmDataImages[i] == "00191113.dcm" )
-         gdcm::Debug::DebugOn();
+     // Keep the comment to be able to track a bug on a given image
+     // for all the OS.
+     
+     // if (gdcmDataImages[i] == "00191113.dcm" )
+     //    GDCM_NAME_SPACE::Debug::DebugOn();
+     // else
+     //    GDCM_NAME_SPACE::Debug::DebugOff();
+
+      std::string filename;      
+      if (argc ==2)
+      {
+         filename = argv[1];
+      }
       else
-         gdcm::Debug::DebugOff();
-
-      std::string filename = GDCM_DATA_ROOT;
-      filename += "/";  //doh!
-      filename += gdcmDataImages[i];
+      {
+         filename = GDCM_DATA_ROOT;
+         filename += "/";  //doh!      
+         filename += gdcmDataImages[i];
+      }
       
-      std::cout << "Begin with " << filename << std::endl;
-      gdcm::File *f= gdcm::File::New( );
+      std::cout << " ----------------------------------------------"
+                << "Begin with " << filename << std::endl;
+
+      GDCM_NAME_SPACE::File *f= GDCM_NAME_SPACE::File::New( );
       f->SetFileName( filename );
       f->Load( );
 
@@ -120,12 +139,17 @@ int TestFileAccessors(int, char *[])
       std::cout << "   Orientation:" << std::endl;
       for (int j=0; j<6; j++)
          std::cout << "      iop[" << j << "] = " << iop[j] << std::endl;
+      f->GetImagePositionPatient( ipp );
+      std::cout << "   Position:" << std::endl;
+      for (int j2=0; j2<3; j2++)
+         std::cout << "      ipp[" << j2 << "] = " << ipp[j2] << std::endl; 
 
       if( f->IsReadable() )
       {
          std::cout << "   " << filename << " is Readable" << std::endl;
 
-         gdcm::FileHelper *fh= gdcm::FileHelper::New( f );   
+         GDCM_NAME_SPACE::FileHelper *fh= GDCM_NAME_SPACE::FileHelper::New( f );   
 
          TestMethodMacro(std::dec,fh,GetImageDataSize)
          TestMethodMacro(std::dec,fh,GetImageDataRawSize)
@@ -143,9 +167,11 @@ int TestFileAccessors(int, char *[])
          f->Delete();
          return 1;
       }
-
       f->Delete();
-      std::cout << "End with " << filename << std::endl;
+
+      if (argc ==2)
+         break; // user asked to check a single file.
+
       i++;
    }
    return 0;