X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestCopyRescaleDicom.cxx;h=58491763c3c61c91b099360d6a5a39039b9af670;hb=1d44a799e7860861ce969254d6403a0066ffd753;hp=1d035d726b8fbea99a6a66104c1e6c2e046b1fe9;hpb=d916971eefa44ad95cb13a6e413617303ad2c304;p=gdcm.git diff --git a/Testing/TestCopyRescaleDicom.cxx b/Testing/TestCopyRescaleDicom.cxx index 1d035d72..58491763 100644 --- a/Testing/TestCopyRescaleDicom.cxx +++ b/Testing/TestCopyRescaleDicom.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestCopyRescaleDicom.cxx,v $ Language: C++ - Date: $Date: 2005/05/20 15:50:27 $ - Version: $Revision: 1.19 $ + Date: $Date: 2005/10/18 08:35:46 $ + Version: $Revision: 1.21 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -17,8 +17,7 @@ =========================================================================*/ #include "gdcmFile.h" #include "gdcmFileHelper.h" -#include "gdcmValEntry.h" -#include "gdcmBinEntry.h" +#include "gdcmDataEntry.h" #include #include @@ -72,10 +71,13 @@ int CopyRescaleDicom(std::string const &filename, return 1; } } - + //////////////// Step 1: std::cout << " 1..."; - gdcm::File originalF = gdcm::File( filename ); + gdcm::File originalF = gdcm::File( ); + originalF.SetFileName( filename ); + originalF.Load(); + gdcm::File copyF = gdcm::File( ); //First of all copy the file, field by field @@ -86,17 +88,11 @@ int CopyRescaleDicom(std::string const &filename, gdcm::DocEntry *d = originalF.GetFirstEntry(); while(d) { - if ( gdcm::BinEntry *b = dynamic_cast(d) ) - { - copyF.InsertBinEntry( b->GetBinArea(),b->GetLength(), - b->GetGroup(),b->GetElement(), - b->GetVR() ); - } - else if ( gdcm::ValEntry *v = dynamic_cast(d) ) - { - copyF.InsertValEntry( v->GetValue(), - v->GetGroup(),v->GetElement(), - v->GetVR() ); + if ( gdcm::DataEntry *de = dynamic_cast(d) ) + { + copyF.InsertEntryBinArea( de->GetBinArea(),de->GetLength(), + de->GetGroup(),de->GetElement(), + de->GetVR() ); } else { @@ -118,10 +114,10 @@ int CopyRescaleDicom(std::string const &filename, if( bitsStored == "16" ) { std::cout << "Rescale..."; - copyF.InsertValEntry( "8", 0x0028, 0x0100); // Bits Allocated - copyF.InsertValEntry( "8", 0x0028, 0x0101); // Bits Stored - copyF.InsertValEntry( "7", 0x0028, 0x0102); // High Bit - copyF.InsertValEntry( "0", 0x0028, 0x0103); // Pixel Representation + copyF.InsertEntryString( "8", 0x0028, 0x0100); // Bits Allocated + copyF.InsertEntryString( "8", 0x0028, 0x0101); // Bits Stored + copyF.InsertEntryString( "7", 0x0028, 0x0102); // High Bit + copyF.InsertEntryString( "0", 0x0028, 0x0103); // Pixel Representation // We assume the value were from 0 to uint16_t max rescaleSize = dataSize / 2;