]> Creatis software - clitk.git/commitdiff
add options
authordsarrut <dsarrut>
Tue, 15 Feb 2011 11:29:05 +0000 (11:29 +0000)
committerdsarrut <dsarrut>
Tue, 15 Feb 2011 11:29:05 +0000 (11:29 +0000)
segmentation/clitkExtractPatient.ggo
segmentation/clitkExtractPatientGenericFilter.h
segmentation/clitkExtractPatientGenericFilter.txx

index 6b15a6af14e7e167e2687bea3556f124a52b4906..9aed69e1beb59d3cafff65d0121ade3b6ba8e634 100644 (file)
@@ -10,6 +10,7 @@ option "verboseStep"    -  "Verbose each step"                  flag          off
 option "writeStep"      w  "Write image at each step"    flag          off
 option "verboseOption"  -  "Display options values"       flag          off
 option "verboseWarningOff" -  "Do not display warning"    flag          off
+option "verboseMemory"  -  "Display memory usage"         flag          off
 
 section "I/O"
 
index 23b1ecf208d3f650f85257b48b01a67fdb042fb2..487c4f44569a1706ffa4ff71ccdc588e65747de1 100644 (file)
@@ -48,6 +48,8 @@ namespace clitk
 
     //--------------------------------------------------------------------
     void SetArgsInfo(const ArgsInfoType & a);
+    template<class FilterType>
+    void SetOptionsFromArgsInfoToFilter(FilterType * f);
 
     //--------------------------------------------------------------------
     // Main function called each time the filter is updated
index e2b2e976e501529c85150a346f0c74523154ae26..9435288d1e262519c03ccde50cb0d0fd2b2d8c35 100644 (file)
@@ -55,6 +55,57 @@ void clitk::ExtractPatientGenericFilter<ArgsInfoType>::SetArgsInfo(const ArgsInf
 //--------------------------------------------------------------------
 
 
+//--------------------------------------------------------------------
+template<class ArgsInfoType>
+template<class FilterType>
+void 
+clitk::ExtractPatientGenericFilter<ArgsInfoType>::
+SetOptionsFromArgsInfoToFilter(FilterType * f)
+{
+  f->SetVerboseOptionFlag(mArgsInfo.verbose_flag);
+  f->SetVerboseStepFlag(mArgsInfo.verboseStep_flag);
+  f->SetWriteStepFlag(mArgsInfo.writeStep_flag);
+  f->SetVerboseWarningFlag(!mArgsInfo.verboseWarningOff_flag);
+  f->SetVerboseMemoryFlag(mArgsInfo.verboseMemory_flag);
+
+  f->SetAFDBFilename(mArgsInfo.afdb_arg);  
+  f->SetOutputPatientFilename(mArgsInfo.output_arg);
+
+  f->SetUpperThreshold(mArgsInfo.upper_arg);
+  f->SetLowerThreshold(mArgsInfo.lower_arg);
+
+  f->SetDecomposeAndReconstructDuringFirstStep(mArgsInfo.erode1_flag);
+
+  // Convert to SizeType
+  typename FilterType::InputImageSizeType s;
+  if (mArgsInfo.radius1_given) {
+    ConvertOptionMacro(mArgsInfo.radius1, s, 3, false);
+    f->SetRadius1(s);
+  }
+
+  f->SetMaximumNumberOfLabels1(mArgsInfo.max1_arg);
+  f->SetNumberOfNewLabels1(mArgsInfo.new1_arg);
+
+  f->SetDecomposeAndReconstructDuringSecondStep(mArgsInfo.erode2_flag);
+
+  // Convert to SizeType
+  if (mArgsInfo.radius2_given) {
+    ConvertOptionMacro(mArgsInfo.radius2, s, 3, false);
+    f->SetRadius2(s);
+  }
+
+  f->SetMaximumNumberOfLabels2(mArgsInfo.max2_arg);
+  f->SetNumberOfNewLabels2(mArgsInfo.new2_arg);
+  
+  f->SetFirstKeep(mArgsInfo.firstKeep_arg);
+  f->SetLastKeep(mArgsInfo.lastKeep_arg);
+
+  f->SetFinalOpenClose(mArgsInfo.openClose_flag);
+  f->SetAutoCrop(!mArgsInfo.noAutoCrop_flag);
+}
+//--------------------------------------------------------------------
+
+
 //--------------------------------------------------------------------
 // Update with the number of dimensions and the pixeltype
 //--------------------------------------------------------------------
@@ -76,8 +127,8 @@ void clitk::ExtractPatientGenericFilter<ArgsInfoType>::UpdateWithInputImageType(
   this->SetFilterBase(filter);
     
   // Set global Options 
-  filter->SetArgsInfo(mArgsInfo);
   filter->SetInput(input);
+  SetOptionsFromArgsInfoToFilter<FilterType>(filter);
 
   // Go !
   filter->Update();