X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FexReadWriteFile.cxx;h=3d53160b1a63617565ff17c7c6b751b9f1723c39;hb=7a111e0401fb1a09aa0d2dd4ab8d5bc6e4890f82;hp=180f2be9cea710d19d5f46c4c5aa622da709bc2d;hpb=b09819696abc23a1bc3802c0d47b367cac46b892;p=gdcm.git diff --git a/Example/exReadWriteFile.cxx b/Example/exReadWriteFile.cxx index 180f2be9..3d53160b 100644 --- a/Example/exReadWriteFile.cxx +++ b/Example/exReadWriteFile.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: exReadWriteFile.cxx,v $ Language: C++ - Date: $Date: 2005/04/14 15:16:57 $ - Version: $Revision: 1.4 $ + Date: $Date: 2007/05/23 14:18:05 $ + Version: $Revision: 1.10 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,10 +19,10 @@ #include "gdcmFile.h" #include "gdcmFileHelper.h" #include "gdcmDocument.h" -#include "gdcmValEntry.h" -#include "gdcmBinEntry.h" +#include "gdcmDataEntry.h" #include "gdcmSeqEntry.h" +#include // for exit int main(int argc, char *argv[]) { @@ -56,10 +56,12 @@ std::cout << " --- WARNING --- WARNING --- WARNING --- WARNING ---" <SetFileName( filename ); + f1->Load(); // Ask content to be printed @@ -77,47 +79,44 @@ std::cout << " --- WARNING --- WARNING --- WARNING --- WARNING ---" <GetFirstEntry(); + GDCM_NAME_SPACE::DocEntry *d = f1->GetFirstEntry(); while( d ) { // We skip SeqEntries, since user cannot do much with them - if ( !(dynamic_cast(d)) + if ( !(dynamic_cast(d)) // We skip Shadow Groups, since nobody knows what they mean - && !( d->GetGroup()%2 ) - // we skip BinEntries, since their content is not human-readable - && !dynamic_cast(d) ) + && !( d->GetGroup()%2 ) ) { // If user just 'wants to see' //d->Print(); //std::cout << std::endl; // If user wants to get info about the entry - // (he is sure, here that DocEntry is a ValEntry) - valEntry = dynamic_cast(d); + // (he is sure, here that DocEntry is a DataEntry) + dataEntry = dynamic_cast(d); // Let's be carefull -maybe he commented out some previous line- - if (!valEntry) + if (!dataEntry) continue; - value = valEntry->GetValue(); - vr = valEntry->GetVR(); + value = dataEntry->GetString(); + vr = dataEntry->GetVR(); // user wants really to know everything about entry! - vm = valEntry->GetVM(); - name = valEntry->GetName(); + vm = dataEntry->GetVM(); + name = dataEntry->GetName(); std::cout //<< std::hex << group << "," << elem - << valEntry->GetKey() - << " VR :[" << vr << "] VM : [" << vm + << dataEntry->GetKey() + << " VR :[" << vr << "] VM : [" << vm << "] name : [" << name << "]" << " value : [" << value << "]" - - << std::endl; + << std::endl; } d = f1->GetNextEntry(); } @@ -194,21 +193,21 @@ std::cout << " --- WARNING --- WARNING --- WARNING --- WARNING ---" <GetEntryValue(0x0008,0x0070) + std::cout << "Manufacturer :[" << f1->GetEntryString(0x0008,0x0070) << "]" << std::endl; - std::cout << "Institution :[" << f1->GetEntryValue(0x0008,0x0080) + std::cout << "Institution :[" << f1->GetEntryString(0x0008,0x0080) << "]" << std::endl; - std::cout << "Patient's name :[" << f1->GetEntryValue(0x0010,0x0010) + std::cout << "Patient's name :[" << f1->GetEntryString(0x0010,0x0010) << "]" << std::endl; - std::cout << "Physician's name :[" << f1->GetEntryValue(0x0008,0x0090) + std::cout << "Physician's name :[" << f1->GetEntryString(0x0008,0x0090) << "]" << std::endl; - std::cout << "Study Date :[" << f1->GetEntryValue(0x0008,0x0020) + std::cout << "Study Date :[" << f1->GetEntryString(0x0008,0x0020) << "]" << std::endl; - std::cout << "Study inst UID :[" << f1->GetEntryValue(0x0020,0x000d) + std::cout << "Study inst UID :[" << f1->GetEntryString(0x0020,0x000d) << "]" << std::endl; - std::cout << "Serie inst UID :[" << f1->GetEntryValue(0x0020,0x000e) + std::cout << "Serie inst UID :[" << f1->GetEntryString(0x0020,0x000e) << "]" << std::endl; - std::cout << "Frame ref UID :[" << f1->GetEntryValue(0x0020,0x0052) + std::cout << "Frame ref UID :[" << f1->GetEntryString(0x0020,0x0052) << "]" << std::endl; // User wants to get info about the 'real world' vs image @@ -218,8 +217,8 @@ std::cout << " --- WARNING --- WARNING --- WARNING --- WARNING ---" <GetImageData(); @@ -254,32 +253,28 @@ std::cout << " --- WARNING --- WARNING --- WARNING --- WARNING ---" <SetFileName( output ); + copy->Load(); d = f1->GetFirstEntry(); while(d) { // We skip SeqEntries, since user cannot do much with them - if ( !(dynamic_cast(d)) + if ( !(dynamic_cast(d)) // We skip Shadow Groups, since nobody knows what they mean && !( d->GetGroup()%2 ) ) { - if ( gdcm::BinEntry *b = dynamic_cast(d) ) + if ( GDCM_NAME_SPACE::DataEntry *de = dynamic_cast(d) ) { - copy->GetFile()->InsertBinEntry( b->GetBinArea(),b->GetLength(), - b->GetGroup(),b->GetElement(), - b->GetVR() ); - } - else if ( gdcm::ValEntry *v = dynamic_cast(d) ) - { - copy->GetFile()->InsertValEntry( v->GetValue(), - v->GetGroup(),v->GetElement(), - v->GetVR() ); + copy->GetFile()->InsertEntryBinArea( de->GetBinArea(),de->GetLength(), + de->GetGroup(),de->GetElement(), + de->GetVR() ); } else { - // We skip gdcm::SeqEntries + // We skip GDCM_NAME_SPACE::SeqEntries } } d = f1->GetNextEntry(); @@ -328,9 +323,9 @@ std::cout << " --- WARNING --- WARNING --- WARNING --- WARNING ---" <Delete(); + fh1->Delete(); + copy->Delete(); exit (0); }