]> Creatis software - gdcm.git/blobdiff - Testing/TestPrintAllDocument.cxx
Avoid warnings
[gdcm.git] / Testing / TestPrintAllDocument.cxx
index 31ce5c9dae3db27882962e8790f04d0837059ec8..1b19d7949119d86f5ad1f0449dc826fa048bca12 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestPrintAllDocument.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/09/16 17:19:24 $
-  Version:   $Revision: 1.7 $
+  Date:      $Date: 2006/04/07 10:58:51 $
+  Version:   $Revision: 1.13 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 #include "gdcmFile.h"
 #include "gdcmUtil.h"
 #include "gdcmCommon.h"
-#include "gdcmBinEntry.h"  
 #include "gdcmDocEntry.h" 
 #include "gdcmDocEntrySet.h"           
 #include "gdcmDocument.h"          
 #include "gdcmElementSet.h"        
 #include "gdcmSeqEntry.h" 
 #include "gdcmSQItem.h" 
-#include "gdcmValEntry.h" 
 #include "gdcmOrientation.h"
 #include <fstream>
 #include <iostream>
@@ -40,7 +38,7 @@
 //Generated file:
 #include "gdcmDataImages.h"
 
-int TestPrintAllDocument(int, char *[])
+int TestPrintAllDocument(int argc, char *argv[])
 {
    //std::ostringstream s;
    int i = 0;
@@ -49,20 +47,33 @@ int TestPrintAllDocument(int, char *[])
    std::string pixelType, photomInterp;
    int l;
    l = strlen("PALETTE COLOR ");
+   
+   //gdcm::Debug::DebugOn();
+   
    while( gdcmDataImages[i] != 0 )
    {
-      std::string filename = GDCM_DATA_ROOT;
-      filename += "/";  //doh!
-      filename += gdcmDataImages[i];
+      std::string filename;      
+      if (argc ==2)
+      {
+         filename = argv[1];
+      }
+      else
+      {
+         filename = GDCM_DATA_ROOT;
+         filename += "/";  //doh!      
+         filename += gdcmDataImages[i];
+      }
+      
+      std::cout << " ----------------------------------------------"
+                << "Begin with " << filename << std::endl;
 
-      gdcm::File *f= new gdcm::File( );
+      gdcm::File *f= gdcm::File::New( );
       f->SetFileName( filename );
       f->Load();
 
       f->SetPrintLevel(2);
       f->Print();
-      // just to be able to grep the display result, for some usefull info
+      
       //s.setf(std::ios::left);
       //s << std::setw(60-filename.length()) << " ";
       //std::cout << s.str() << gdcmDataImages[i];
@@ -84,7 +95,7 @@ int TestPrintAllDocument(int, char *[])
       std::cout << " Smpl.P.Pix.="          << f->GetSamplesPerPixel()
                 << " Plan.Config.="         << f->GetPlanarConfiguration();
  
-      photomInterp =  f->GetEntryValue(0x0028,0x0004);               
+      photomInterp =  f->GetEntryString(0x0028,0x0004);               
       std::cout << " Photom.Interp.="       << photomInterp;
       for (j=0; j<l-photomInterp.length(); j++)
          std::cout << " ";
@@ -100,13 +111,15 @@ int TestPrintAllDocument(int, char *[])
       std::cout << std::endl;
 
       std::string strImageOrientationPatient = 
-                                          f->GetEntryValue(0x0020,0x0037);
+                                          f->GetEntryString(0x0020,0x0037);
       if ( strImageOrientationPatient != gdcm::GDCM_UNFOUND )
       {
-         gdcm::Orientation o;
-         double orient = o.TypeOrientation( f );
+         gdcm::Orientation *o = gdcm::Orientation::New();
+         gdcm::OrientationType orient = o->GetOrientationType( f );
          std::cout << " ---------------------- Orientation " << orient
                    << std::endl;
+         o->Delete(); 
       }
 
       if( f->IsReadable() )
@@ -118,10 +131,14 @@ int TestPrintAllDocument(int, char *[])
       {
          std::cout << filename << " is NOT Readable" 
                    << std::endl << std::endl;
-         delete f;
+         f->Delete();
          return 1;
       }
-      delete f;
+      f->Delete();
+      
+      if (argc ==2)
+         break; // user asked to check a single file.      
+      
       i++;
    }
    return 0;