+ if (mArgsInfo.input_given) AddInputFilename(mArgsInfo.input_arg);
+ if (mArgsInfo.output_given) AddOutputFilename(mArgsInfo.output_arg);
+}
+//--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+template<class ArgsInfoType>
+template<class FilterType>
+void
+clitk::ExtractLymphStationsGenericFilter<ArgsInfoType>::
+SetOptionsFromArgsInfoToFilter(FilterType * f)
+{
+ f->SetVerboseOptionFlag(mArgsInfo.verbose_flag);
+ f->SetVerboseStepFlag(mArgsInfo.verboseStep_flag);
+ f->SetWriteStepFlag(mArgsInfo.writeStep_flag);
+ f->SetVerboseMemoryFlag(mArgsInfo.verboseMemory_flag);
+ f->SetAFDBFilename(mArgsInfo.afdb_arg);
+ f->SetDistanceMaxToAnteriorPartOfTheSpine(mArgsInfo.maxAntSpine_arg);
+ f->SetFuzzyThresholdForS8(mArgsInfo.fuzzyThresholdForS8_arg);
+ f->SetInjectedThresholdForS8(mArgsInfo.injectedThresholdForS8_arg);
+
+ // Check multiple options for radius dilatation
+ /*
+ typename FilterType::MaskImagePointType p;
+ SetMultipleOptionMacro(mArgsInfo, esophagusDilatation, 3, p);
+ default ? = set before
+ exception if fail
+ */
+ typename FilterType::MaskImagePointType p;
+ p[0] = 7; p[1] = 5; p[2] = 0; // default value
+ if (mArgsInfo.esophagusDilatationForAnt_given == 3) {
+ for(uint i=0; i<3; i++)
+ p[i] = mArgsInfo.esophagusDilatationForAnt_arg[i];
+ }
+ else {
+ if (mArgsInfo.esophagusDilatationForAnt_given == 1) {
+ for(uint i=0; i<3; i++)
+ p[i] = mArgsInfo.esophagusDilatationForAnt_arg[0];
+ }
+ }
+ f->SetEsophagusDiltationForAnt(p);
+
+ p[0] = 5; p[1] = 10; p[2] = 1; // default value
+ if (mArgsInfo.esophagusDilatationForRight_given == 3) {
+ for(uint i=0; i<3; i++)
+ p[i] = mArgsInfo.esophagusDilatationForRight_arg[i];
+ }
+ else {
+ if (mArgsInfo.esophagusDilatationForRight_given == 1) {
+ for(uint i=0; i<3; i++)
+ p[i] = mArgsInfo.esophagusDilatationForRight_arg[0];
+ }
+ }
+ f->SetEsophagusDiltationForRight(p);
+
+ for(uint i=0; i<mArgsInfo.station_given; i++)
+ f->AddComputeStation(mArgsInfo.station_arg[i]);