]> Creatis software - gdcm.git/blobdiff - Testing/TestDicomDir.cxx
* Test/VTKTest*.cxx : remove the show variable in each test method because
[gdcm.git] / Testing / TestDicomDir.cxx
index c778078eb4872378c0a22d7a1a4e52e8ca1dbb8f..ea6b686eeaa598395a1c46dc1ff1a424078f1887 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestDicomDir.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/17 11:01:26 $
-  Version:   $Revision: 1.27 $
+  Date:      $Date: 2005/01/24 16:10:50 $
+  Version:   $Revision: 1.32 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -63,9 +63,14 @@ int TestDicomDir(int argc, char* argv[])
       delete e1;
       return 1;
    }
+   else
+   {
+      std::cout<<"          DicomDir '"<<file
+               <<"' is readable"<<std::endl;
+   }
 
    // Test if the DicomDir contains any Patient
-   if( e1->GetNextEntry() )
+   if( !e1->GetFirstPatient() )
    {
       std::cout<<"          DicomDir '"<<file
                <<" has no patient"<<std::endl
@@ -75,41 +80,41 @@ int TestDicomDir(int argc, char* argv[])
       return 1;
    }
 
-  // step by step structure full exploitation
-  
+   // step by step structure full exploitation
    std::cout << std::endl << std::endl  
              << " = PATIENT/STUDY/SERIE/IMAGE List ============================" 
              << std::endl<< std::endl;
   
-   e1->InitTraversal();
-   pa = e1->GetNextEntry(); 
-   while ( pa ) {  // on degouline la liste de PATIENT
-      std::cout << pa->GetEntry(0x0010, 0x0010) << std::endl; // Patient's Name
-      pa->InitTraversal();
-      st = pa->GetNextEntry();
-      while ( st ) { // on degouline les STUDY de ce patient
-         std::cout << "--- "<< st->GetEntry(0x0008, 0x1030) << std::endl;    // Study Description
-         std::cout << " Stud.ID:["          << st->GetEntry(0x0020, 0x0010); // Study ID
-         st->InitTraversal();
-         se = st->GetNextEntry();
-         while ( se ) { // on degouline les SERIES de cette study
-            std::cout << "--- --- "<< se->GetEntry(0x0008, 0x103e) << std::endl;      // Serie Description
-            std::cout << " Ser.nb:["         <<  se->GetEntry(0x0020, 0x0011);        // Series number
-            std::cout << "] Mod.:["          <<  se->GetEntry(0x0008, 0x0060) << "]"; // Modality
-            se->InitTraversal();
-            im = se->GetNextEntry();
-            while ( im ) { // on degouline les Images de cette serie
-               std::cout << "--- --- --- "<< im->GetEntry(0x0004, 0x1500) << std::endl; // File name
-               im = se->GetNextEntry();   
+   pa = e1->GetFirstPatient(); 
+   while ( pa ) 
+   {  // we process all the PATIENT of this DICOMDIR 
+      std::cout << pa->GetEntryValue(0x0010, 0x0010) << std::endl; // Patient's Name
+
+      st = pa->GetFirstStudy();
+      while ( st ) 
+      { // we process all the STUDY of this patient
+         std::cout << "--- "<< st->GetEntryValue(0x0008, 0x1030) << std::endl;    // Study Description
+         std::cout << " Stud.ID:["          << st->GetEntryValue(0x0020, 0x0010); // Study ID
+
+         se = st->GetFirstSerie();
+         while ( se ) 
+         { // we process all the SERIES of this study
+            std::cout << "--- --- "<< se->GetEntryValue(0x0008, 0x103e) << std::endl;      // Serie Description
+            std::cout << " Ser.nb:["         <<  se->GetEntryValue(0x0020, 0x0011);        // Series number
+            std::cout << "] Mod.:["          <<  se->GetEntryValue(0x0008, 0x0060) << "]"; // Modality
+
+            im = se->GetFirstImage();
+            while ( im ) { // we process all the IMAGE of this serie
+               std::cout << "--- --- --- "<< im->GetEntryValue(0x0004, 0x1500) << std::endl; // File name
+               im = se->GetNextImage();   
             }
-            se = st->GetNextEntry();   
+            se = st->GetNextSerie();   
          }
-         st = pa->GetNextEntry();
-     }  
-     pa = e1->GetNextEntry();
-  }  
-      
-    
+         st = pa->GetNextStudy();
+      }  
+      pa = e1->GetNextPatient();
+   }  
+
    std::cout << std::endl << std::endl  
              << " = DICOMDIR full content ====================================" 
              << std::endl<< std::endl;