X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FAnonymizeDicomDir.cxx;h=747714b538ff476dd775f5c4c4d9f03e06177204;hb=5999b77894e01d12f31cbdbf4e35d04852fc12ca;hp=47915d81559acc939d47c63382d39c8d0873beb1;hpb=262a833b60f9794c4c96fea2f49de6526f89cf86;p=gdcm.git diff --git a/Example/AnonymizeDicomDir.cxx b/Example/AnonymizeDicomDir.cxx index 47915d81..747714b5 100644 --- a/Example/AnonymizeDicomDir.cxx +++ b/Example/AnonymizeDicomDir.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: AnonymizeDicomDir.cxx,v $ Language: C++ - Date: $Date: 2005/07/12 14:56:48 $ - Version: $Revision: 1.6 $ + Date: $Date: 2005/10/25 14:52:26 $ + Version: $Revision: 1.9 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -22,7 +22,7 @@ #include "gdcmSQItem.h" #include "gdcmSeqEntry.h" -#include "gdcmValEntry.h" +#include "gdcmDataEntry.h" #include "gdcmDocument.h" #include "gdcmFile.h" @@ -55,7 +55,7 @@ void AnoNoLoad(gdcm::SQItem *s, std::fstream *fp, if ( d == NULL) return; - if ( ! dynamic_cast(d) ) + if ( ! dynamic_cast(d) ) return; offset = d->GetOffset(); @@ -86,7 +86,7 @@ int main(int argc, char *argv[]) // ----- Initialize Arguments Manager ------ gdcm::ArgMgr *am = new gdcm::ArgMgr(argc, argv); - if (am->ArgMgrDefined("usage")) + if (argc == 1 || am->ArgMgrDefined("usage")) { am->ArgMgrUsage(usage); // Display 'usage' delete am; @@ -95,12 +95,19 @@ int main(int argc, char *argv[]) char *fileName = am->ArgMgrWantString("filein",usage); + // if unused Param we give up + if ( am->ArgMgrPrintUnusedLabels() ) + { + am->ArgMgrUsage(usage); + delete am; + return 0; + } delete am; // --- we don't need Argument Manager any longer --- // Read the input DICOMDIR gdcm::File *f; - f = new gdcm::File( ); + f = gdcm::File::New( ); f->SetLoadMode(0); f->SetFileName( fileName ); bool res = f->Load(); @@ -116,7 +123,7 @@ int main(int argc, char *argv[]) if ( !e ) { std::cout << "No Directory Record Sequence (0004,1220) found" <Delete(); return 0; } @@ -124,7 +131,7 @@ int main(int argc, char *argv[]) if ( !s ) { std::cout << "Element (0004,1220) is not a Sequence ?!?" <Delete(); return 0; } @@ -141,13 +148,13 @@ int main(int argc, char *argv[]) while(tmpSI) { d = tmpSI->GetDocEntry(0x0004, 0x1430); // Directory Record Type - if ( gdcm::ValEntry* valEntry = dynamic_cast(d) ) + if ( gdcm::DataEntry *dataEntry = dynamic_cast(d) ) { - v = valEntry->GetValue(); + v = dataEntry->GetString(); } else { - std::cout << "(0004,1430) not a ValEntry ?!?" << std::endl; + std::cout << "(0004,1430) not a DataEntry ?!?" << std::endl; continue; } @@ -181,7 +188,8 @@ int main(int argc, char *argv[]) fp->close(); - delete f; + delete fp; + f->Delete(); return 0; }