]> Creatis software - gdcm.git/blobdiff - Testing/TestSerieHelper.cxx
Looping 10000000 times should be enought
[gdcm.git] / Testing / TestSerieHelper.cxx
index a36cfdef0240f125944ec7cd0943353510a423ad..800a0c175854f94931501c847a04d71b18b3bf9e 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestSerieHelper.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/02/02 14:26:34 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2005/10/17 09:55:36 $
+  Version:   $Revision: 1.9 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -20,9 +20,7 @@
 #include "gdcmDebug.h"
 #include <iostream>
 
-typedef std::list<gdcm::File* > GdcmFileList;
-
-int TestSerieHelper(int argc, char* argv[])
+int TestSerieHelper(int argc, char *argv[])
 {  
    gdcm::SerieHelper *s;
   
@@ -35,38 +33,60 @@ int TestSerieHelper(int argc, char* argv[])
    }
 
    //if (argc > 2)
-   //   gdcm::Debug::SetDebugOn();
+   //   gdcm::Debug::DebugOn();
 
+  
    std::cout << "Dir Name :[" << dirName << "]" << std::endl;
 
    s = new gdcm::SerieHelper();
-   s->SetDirectory(dirName, true); // true : recursive exploration 
-   std::cout << " -------------------------------------------Finish parsing :["
+   s->SetLoadMode(gdcm::LD_ALL);     // Load everything for each File
+   //s->AddRestriction(tagKey, valueToCheck); // Keep only files where
+                                              // restriction is true
+   s->SetDirectory(dirName, true); // true : recursive exploration
+   std::cout << " ---------------------------------------- Finish parsing :["
              << dirName << "]" << std::endl;
 
    s->Print();
-   std::cout << " -----------------------------------------Finish printing (1)"
+   std::cout << " ---------------------------------------- Finish printing (1)"
              << std::endl;
 
    int nbFiles;
-   // For all the Coherent Files lists of the gdcm::Serie
-   GdcmFileList *l = s->GetFirstCoherentFileList();
+   // For all the SingleSerieUID filesets of the gdcm::Serie
+   gdcm::FileList *l = s->GetFirstSingleSerieUIDFileSet();
    while (l)
    { 
       nbFiles = l->size() ;
       if ( l->size() > 3 ) // Why not ? Just an example, for testing
       {
          std::cout << "Sort list : " << nbFiles << " long" << std::endl;
-         s->OrderGdcmFileList(l);  // sort the list
+         s->OrderFileList(l);  // sort the list
       }
-      l = s->GetNextCoherentFileList();
+      l = s->GetNextSingleSerieUIDFileSet();
    } 
-   std::cout << " ----------------------------------------------Finish sorting"
+   std::cout << " -------------------------------------------- Finish sorting"
              << std::endl;
-   s->Print(); // Prints all the Coherent Files lists (sorted or not)
-   std::cout << " ---------------------------------------------Finish printing"
+   s->Print(); // Prints all the SingleSerieUID filesets (sorted or not)
+   std::cout << " -------------------------------------------- Finish printing"
              << std::endl;
 
+
+   // Only for the first SingleSerieUID fileset 
+   // ( Why not ? Just an example, for testing )
+   // Display all the file names
+
+   std::string fileName; 
+   l = s->GetFirstSingleSerieUIDFileSet();
+   for (std::vector<gdcm::File* >::iterator it =  l->begin();
+                                            it != l->end();
+                                          ++it)
+   {
+      fileName = (*it)->GetFileName();
+      std::cout << fileName << std::endl;
+      // Remark : vtkGdcmReader users can use this loop to AddFileName(fileName)
+      //          in the right order 
+   } 
+     
+
    delete s;
 
    return 0;