+ START_USAGE(usage)
+ " \n vtkgdcmSerieViewer : \n",
+ " Display a 'Serie' (same Serie UID) within a Directory ",
+ " You can navigate through the stack by hitting any character key. ",
+ " usage: vtkgdcmSerieViewer dirname=sourcedirectory ",
+ " [noshadowseq][noshadow][noseq] ",
+ " [reverse] [{[mirror]|[topdown]|[rotate]}] ",
+ " [check][debug] ",
+ " sourcedirectory : name of the directory holding the images ",
+ " if it holds more than one serie, ",
+ " only the first one id displayed. ",
+ " 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 ",
+ " reverse : user wants to sort the images reverse order ",
+ " mirror : user wants to 'mirror' the images | just some simple ",
+ " topdown : user wants to 'topdown' the images| examples of user ",
+ " rotate : user wants NOT YET MADE | supplied functions ",
+ " check : user wants to force more coherence checking ",
+ " debug : user wants to run the program in 'debug mode' ",
+ FINISH_USAGE
+
+
+ // Initialize Arguments Manager
+ gdcm::ArgMgr *am= new gdcm::ArgMgr(argc, argv);
+
+ if (argc == 1 || am->ArgMgrDefined("usage") )
+ {
+ am->ArgMgrUsage(usage); // Display 'usage'
+ delete am;
+ return 0;
+ }
+
+ char *dirName = am->ArgMgrWantString("dirname",usage);
+
+ int loadMode = 0x00000000;
+ if ( am->ArgMgrDefined("noshadowseq") )
+ loadMode |= NO_SHADOWSEQ;
+ else
+ {
+ if ( am->ArgMgrDefined("noshadow") )
+ loadMode |= NO_SHADOW;
+ if ( am->ArgMgrDefined("noseq") )
+ loadMode |= NO_SEQ;
+ }
+
+ bool reverse = am->ArgMgrDefined("reverse");
+
+ bool mirror = am->ArgMgrDefined("mirror");
+ bool topdown = am->ArgMgrDefined("topdown");
+ bool rotate = am->ArgMgrDefined("rotate");
+
+ bool check = am->ArgMgrDefined("check");
+
+ if ( (int)mirror + (int)topdown + (int)rotate > 1)