]> Creatis software - gdcm.git/blobdiff - Testing/TestCopyDicom.cxx
* Test/VTKTest*.cxx : remove the show variable in each test method because
[gdcm.git] / Testing / TestCopyDicom.cxx
index 3a86991244d95ae696b663a4ca68a316f44c5467..7d0b74b969051afa34a873be5665ef237a3326e0 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestCopyDicom.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/06 14:49:15 $
-  Version:   $Revision: 1.27 $
+  Date:      $Date: 2005/01/24 16:44:54 $
+  Version:   $Revision: 1.35 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -15,8 +15,8 @@
      PURPOSE.  See the above copyright notices for more information.
                                                                                 
 =========================================================================*/
-#include "gdcmHeader.h"
 #include "gdcmFile.h"
+#include "gdcmFileHelper.h"
 #include "gdcmValEntry.h"
 #include "gdcmBinEntry.h"
 
@@ -62,7 +62,6 @@ int CopyDicom(std::string const & filename,
       std::cout << "   Testing: " << filename << std::endl;
       if( FileExists( output.c_str() ) )
       {
-        // std::cerr << "Don't try to cheat, I am removing the file anyway" << std::endl;
          if( !RemoveFile( output.c_str() ) )
          {
             std::cout << "Ouch, the file exist, but I cannot remove it" << std::endl;
@@ -72,40 +71,30 @@ int CopyDicom(std::string const & filename,
 
       //////////////// Step 1:
       std::cout << "      1...";
-      gdcm::Header *originalH = new gdcm::Header( filename );
-      gdcm::Header *copyH     = new gdcm::Header( );
+      gdcm::File *originalH = new gdcm::File( filename );
+      gdcm::File *copyH     = new gdcm::File( );
 
       //First of all copy the header field by field
-  
-      // Warning :Accessor gdcmElementSet::GetEntry() should not exist 
-      // It was commented out by Mathieu, that was a *good* idea
-      // (the user does NOT have to know the way we implemented the Header !)
-      // Waiting for a 'clean' solution, I keep the method ...JPRx
-
 
       //////////////// Step 2:
       std::cout << "2...";
-      originalH->Initialize();
-      gdcm::DocEntry* d=originalH->GetNextEntry();
-
+      gdcm::DocEntry* d=originalH->GetFirstEntry();
       while(d)
       {
          if ( gdcm::BinEntry* b = dynamic_cast<gdcm::BinEntry*>(d) )
          {
-            copyH->ReplaceOrCreateByNumber( 
-                                 b->GetBinArea(),
-                                 b->GetLength(),
-                                 b->GetGroup(), 
-                                 b->GetElement(),
-                                 b->GetVR() );
+            copyH->Insert( b->GetBinArea(),
+                           b->GetLength(),
+                           b->GetGroup(), 
+                           b->GetElement(),
+                           b->GetVR() );
          }
          else if ( gdcm::ValEntry* v = dynamic_cast<gdcm::ValEntry*>(d) )
          {   
-             copyH->ReplaceOrCreateByNumber( 
-                                 v->GetValue(),
-                                 v->GetGroup(), 
-                                 v->GetElement(),
-                                 v->GetVR() ); 
+             copyH->Insert( v->GetValue(),
+                            v->GetGroup(), 
+                            v->GetElement(),
+                            v->GetVR() ); 
          }
          else
          {
@@ -115,8 +104,8 @@ int CopyDicom(std::string const & filename,
          d=originalH->GetNextEntry();
       }
 
-      gdcm::File *original = new gdcm::File( originalH );
-      gdcm::File *copy     = new gdcm::File( copyH );
+      gdcm::FileHelper *original = new gdcm::FileHelper( originalH );
+      gdcm::FileHelper *copy     = new gdcm::FileHelper( copyH );
 
       size_t dataSize = original->GetImageDataSize();
       uint8_t* imageData = original->GetImageData();
@@ -146,10 +135,10 @@ int CopyDicom(std::string const & filename,
 
       //////////////// Step 4:
       std::cout << "4...";
-      copy = new gdcm::File( output );
+      copy = new gdcm::FileHelper( output );
 
       //Is the file written still gdcm parsable ?
-      if ( !copy->GetHeader()->IsReadable() )
+      if ( !copy->GetFile()->IsReadable() )
       { 
          std::cout << " Failed" << std::endl
                    << "        " << output << " not readable" << std::endl;
@@ -229,7 +218,7 @@ int TestCopyDicom(int argc, char* argv[])
              << std::endl;
    std::cout << "   apply the following to each filename.xxx: "
              << std::endl;
-   std::cout << "   step 1: parse the image (as gdcmHeader) and call"
+   std::cout << "   step 1: parse the image (as gdcmFile) and call"
              << " IsReadable(). After that, call GetImageData() and "
              << "GetImageDataSize() "
              << std::endl;