From 1c88b8d772ca6a656a5ad7f3ec096545d2d29725 Mon Sep 17 00:00:00 2001 From: jpr Date: Tue, 30 Oct 2007 14:55:20 +0000 Subject: [PATCH] Add verbosity, on demand --- Example/exSerieHelper.cxx | 82 +++++++++++++++++++++++++++------- Example/exXCoherentFileSet.cxx | 6 +-- 2 files changed, 68 insertions(+), 20 deletions(-) diff --git a/Example/exSerieHelper.cxx b/Example/exSerieHelper.cxx index 195b9e1a..5305fe4d 100644 --- a/Example/exSerieHelper.cxx +++ b/Example/exSerieHelper.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: exSerieHelper.cxx,v $ Language: C++ - Date: $Date: 2007/10/30 11:56:52 $ - Version: $Revision: 1.16 $ + Date: $Date: 2007/10/30 14:55:20 $ + 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 @@ -20,21 +20,66 @@ #include "gdcmDirList.h" // for FileList #include "gdcmDebug.h" #include +#include "gdcmArgMgr.h" int main(int argc, char *argv[]) -{ - GDCM_NAME_SPACE::SerieHelper *s; +{ + START_USAGE(usage) + "\n exSerieHelper :\n ", + "Example on how to use the methodes of gdcm::SerieHelper ", + "usage: exSerieHelper {dirin=inputDirectoryName} ", + " [ { [noshadowseq] | [noshadow][noseq] } ] [debug] ", + " ", + " dirin : user wants to analyze *all* the files ", + " within the directory ", + " noshadowseq: user doesn't want to load Private Sequences ", + " noshadow : user doesn't want to load Private groups (odd number) ", + " noseq : user doesn't want to load Sequences ", + " verbose : user wants to run the program in 'verbose mode' ", + " warning : user wants to run the program in 'warning mode' ", + " debug : developper wants to run the program in 'debug mode' ", + FINISH_USAGE + + // ----- Initialize Arguments Manager ------ - std::string dirName; - if (argc > 1) - dirName = argv[1]; - else + GDCM_NAME_SPACE::ArgMgr *am = new GDCM_NAME_SPACE::ArgMgr(argc, argv); + + if (am->ArgMgrDefined("usage") || argc == 1) { - dirName = GDCM_DATA_ROOT; + am->ArgMgrUsage(usage); // Display 'usage' + delete am; + return 0; } - if (argc > 2) + if (am->ArgMgrDefined("debug")) GDCM_NAME_SPACE::Debug::DebugOn(); + + if (am->ArgMgrDefined("warning")) + GDCM_NAME_SPACE::Debug::WarningOn(); + + bool verbose = ( 0 != am->ArgMgrDefined("verbose") ); + + int loadMode = GDCM_NAME_SPACE::LD_ALL; + if ( am->ArgMgrDefined("noshadowseq") ) + loadMode |= GDCM_NAME_SPACE::LD_NOSHADOWSEQ; + else + { + if ( am->ArgMgrDefined("noshadow") ) + loadMode |= GDCM_NAME_SPACE::LD_NOSHADOW; + if ( am->ArgMgrDefined("noseq") ) + loadMode |= GDCM_NAME_SPACE::LD_NOSEQ; + } + + const char *dirName = am->ArgMgrGetString("dirin"); + if (dirName == 0) + { + std::cout <SetLoadMode(GDCM_NAME_SPACE::LD_ALL); // Load everything for each File //GDCM_NAME_SPACE::TagKey t(0x0020,0x0013); @@ -50,13 +97,14 @@ int main(int argc, char *argv[]) // restriction is true s->SetDirectory(dirName, true); // true : recursive exploration - std::cout << " ---------------------------------------- Finish parsing :[" - << dirName << "]" << std::endl; - - s->Print(); - std::cout << " ---------------------------------------- Finish printing (1)" - << std::endl; + if (verbose) { + std::cout << " ---------------------------------------- Finish parsing :[" + << dirName << "]" << std::endl; + s->Print(); + std::cout << " ---------------------------------------- Finish printing (1)" + << std::endl; + } GDCM_NAME_SPACE::FileList::const_iterator it; GDCM_NAME_SPACE::FileList *l; diff --git a/Example/exXCoherentFileSet.cxx b/Example/exXCoherentFileSet.cxx index 3604db07..42199db9 100755 --- a/Example/exXCoherentFileSet.cxx +++ b/Example/exXCoherentFileSet.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: exXCoherentFileSet.cxx,v $ Language: C++ - Date: $Date: 2007/10/24 08:03:10 $ - Version: $Revision: 1.14 $ + Date: $Date: 2007/10/30 14:55:20 $ + Version: $Revision: 1.15 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -28,7 +28,7 @@ int main(int argc, char *argv[]) START_USAGE(usage) "\n exXCoherentFileSet :\n ", "Shows the various 'XCoherent' Filesets within a directory ", - "Optionaly copis the images in a Directories tree ", + "Optionaly copies the images in a Directories tree ", "usage: exXCoherentFileSet {dirin=inputDirectoryName} ", " dirout=outputDirectoryName ", " { tag=group-elem | pos | ori } [sort] [write] ", -- 2.45.1