X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FAnonymizeDicomDir.cxx;h=388a92e04cd548e8c1f34fa47bbb92041f468f80;hb=217318a11796c8ab5f3307bc7f9a5f0056936474;hp=cfb909c62c0eddfaeeda45a3495f0df21009179d;hpb=4d992954520d43c6f2fb555b7cd721574978c23a;p=gdcm.git diff --git a/Example/AnonymizeDicomDir.cxx b/Example/AnonymizeDicomDir.cxx index cfb909c6..388a92e0 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/07 17:31:53 $ - Version: $Revision: 1.4 $ + Date: $Date: 2005/07/21 04:55:50 $ + 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 @@ -70,6 +70,7 @@ void AnoNoLoad(gdcm::SQItem *s, std::fstream *fp, fp->write( v.c_str(), lgth ); } + int main(int argc, char *argv[]) { @@ -85,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; @@ -94,12 +95,17 @@ int main(int argc, char *argv[]) char *fileName = am->ArgMgrWantString("filein",usage); - delete am; // we don't need Argument Manager any longer + // 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 -// ============================================================ + // Read the input DICOMDIR gdcm::File *f; f = new gdcm::File( ); f->SetLoadMode(0); @@ -112,14 +118,13 @@ int main(int argc, char *argv[]) } std::cout << " ... is readable " << std::endl; - // Directory record sequence + // Look for Directory record sequence gdcm::DocEntry *e = f->GetDocEntry(0x0004, 0x1220); if ( !e ) { std::cout << "No Directory Record Sequence (0004,1220) found" <(e); @@ -127,7 +132,6 @@ int main(int argc, char *argv[]) { std::cout << "Element (0004,1220) is not a Sequence ?!?" <GetNextSQItem(); + continue; } oss << patientNumber; @@ -172,7 +177,7 @@ int main(int argc, char *argv[]) // Telephone AnoNoLoad(tmpSI, fp, 0x0010, 0x2154, oss.str()); - // Aware use will add more Entries he wants to rubb out here + // Aware use will add here more Entries if he wants to rubb them out oss << ""; patientNumber++; @@ -183,8 +188,6 @@ int main(int argc, char *argv[]) fp->close(); - delete fp; - delete e; delete f; return 0; }