X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FTestFromScratch.cxx;h=7bb6884737737cc38608783b20c1fca7734d31b3;hb=f711022dedd779e5e58e649af8c440a4a58bdba1;hp=66771cca61659cce4fee4504dfe57b3acc6f945d;hpb=b792278a90bb8f54b77595a073d435c2041dabf3;p=gdcm.git diff --git a/Example/TestFromScratch.cxx b/Example/TestFromScratch.cxx index 66771cca..7bb68847 100644 --- a/Example/TestFromScratch.cxx +++ b/Example/TestFromScratch.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestFromScratch.cxx,v $ Language: C++ - Date: $Date: 2004/12/10 16:48:37 $ - Version: $Revision: 1.2 $ + Date: $Date: 2005/02/02 10:06:32 $ + Version: $Revision: 1.17 $ 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 "gdcmDictEntry.h" #include "gdcmDocEntry.h" #include "gdcmBinEntry.h" @@ -35,52 +35,48 @@ int main(int argc, char *argv[]) return 1; } - // Doesn't seems to do anything: - dbg.SetDebug(-1); + + // Doesn't seem to do anything: + gdcm::Debug::DebugOn(); + // Doesn't link properly: //gdcm::Debug::GetReference().SetDebug(1); std::string filename = argv[1]; - //gdcm::File *f1 = new gdcm::File( "/home/malaterre/Creatis/gdcmData/012345.002.050.dcm" ); - gdcm::File *f1 = new gdcm::File( filename ); - gdcm::Header *h1 = f1->GetHeader(); + gdcm::FileHelper *f1 = new gdcm::FileHelper( filename ); + gdcm::File *h1 = f1->GetFile(); int dataSize = f1->GetImageDataSize(); std::cout << "DataSize: " << dataSize << std::endl; // Since we know the image is 16bits: - uint8_t* imageData = f1->GetImageData(); + uint8_t *imageData = f1->GetImageData(); // Hopefully default to something - gdcm::Header *h2 = new gdcm::Header(); - - h1->Initialize(); - gdcm::DocEntry* d = h1->GetNextEntry(); + gdcm::File *h2 = new gdcm::File(); // Copy of the header content + gdcm::DocEntry *d = h1->GetFirstEntry(); while(d) { - if ( gdcm::BinEntry* b = dynamic_cast(d) ) - { - // We skip bin entries - } - else if ( gdcm::ValEntry* v = dynamic_cast(d) ) + if ( gdcm::ValEntry *v = dynamic_cast(d) ) { - h2->ReplaceOrCreateByNumber( - v->GetValue(), - v->GetGroup(), - v->GetElement(), - v->GetVR() ); - } - else - { - // We skip pb of SQ recursive exploration + // Do not bother with field from private dict + if( v->GetName() != "gdcm::Unknown" ) + { + h2->InsertValEntry( v->GetValue(), + v->GetGroup(),v->GetElement(), + v->GetVR() ); + } } + //else + // We skip pb of SQ recursive exploration + // We skip bin entries d = h1->GetNextEntry(); } - //h2->Print( std::cout ); + h2->Print( std::cout ); - gdcm::File *f2 = new gdcm::File( h2 ); + gdcm::FileHelper *f2 = new gdcm::FileHelper( h2 ); f2->SetImageData(imageData, dataSize); f2->SetWriteTypeToDcmExplVR();