]> Creatis software - gdcm.git/blobdiff - Testing/TestCopyRescaleDicom.cxx
First stage of name normalisation : gdcm::File replace by gdcm::FileHelper
[gdcm.git] / Testing / TestCopyRescaleDicom.cxx
index 4f0eb9aa2c36a54213006aaba20bf20a0d7c338a..6616afa17340987ce594af802f771f2a3686c5f5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestCopyRescaleDicom.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/12/08 11:37:15 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2005/01/20 16:16:59 $
+  Version:   $Revision: 1.7 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -16,7 +16,7 @@
                                                                                 
 =========================================================================*/
 #include "gdcmHeader.h"
-#include "gdcmFile.h"
+#include "gdcmFileHelper.h"
 #include "gdcmValEntry.h"
 #include "gdcmBinEntry.h"
 
@@ -56,15 +56,13 @@ int CopyRescaleDicom(std::string const & filename,
 
    //////////////// Step 2:
    std::cout << "2...";
-   originalH->Initialize();
-   gdcm::DocEntry* d = originalH->GetNextEntry();
-
    // Copy of the header content
+   gdcm::DocEntry* d = originalH->GetFirstEntry();
    while(d)
    {
       if ( gdcm::BinEntry* b = dynamic_cast<gdcm::BinEntry*>(d) )
       {
-         copyH->ReplaceOrCreateByNumber
+         copyH->ReplaceOrCreate( 
                               b->GetBinArea(),
                               b->GetLength(),
                               b->GetGroup(), 
@@ -73,7 +71,7 @@ int CopyRescaleDicom(std::string const & filename,
       }
       else if ( gdcm::ValEntry* v = dynamic_cast<gdcm::ValEntry*>(d) )
       {   
-          copyH->ReplaceOrCreateByNumber
+          copyH->ReplaceOrCreate( 
                               v->GetValue(),
                               v->GetGroup(), 
                               v->GetElement(),
@@ -87,22 +85,22 @@ int CopyRescaleDicom(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();
 
    size_t rescaleSize;
    uint8_t *rescaleImage;
 
-   const std::string & bitsStored    = originalH->GetEntryByNumber(0x0028,0x0101);
+   const std::string & bitsStored    = originalH->GetEntry(0x0028,0x0101);
    if( bitsStored == "16" )
    {
       std::cout << "Rescale...";
-      copyH->ReplaceOrCreateByNumber( "8", 0x0028, 0x0100); // BitsAllocated
-      copyH->ReplaceOrCreateByNumber( "8", 0x0028, 0x0101); // BitsStored
-      copyH->ReplaceOrCreateByNumber( "7", 0x0028, 0x0102); // HighBit
-      copyH->ReplaceOrCreateByNumber( "0", 0x0028, 0x0103); //Pixel Representation
+      copyH->ReplaceOrCreate( "8", 0x0028, 0x0100); // BitsAllocated
+      copyH->ReplaceOrCreate( "8", 0x0028, 0x0101); // BitsStored
+      copyH->ReplaceOrCreate( "7", 0x0028, 0x0102); // HighBit
+      copyH->ReplaceOrCreate( "0", 0x0028, 0x0103); //Pixel Representation
  
       // We assume the value were from 0 to uint16_t max
       rescaleSize = dataSize / 2;
@@ -146,7 +144,7 @@ int CopyRescaleDicom(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() )