]> Creatis software - clitk.git/blobdiff - segmentation/clitkExtractBonesFilter.txx
add missing "allocate"
[clitk.git] / segmentation / clitkExtractBonesFilter.txx
index 3e8cc491c63e5c4200bca7f8d5c79f4b43229dc6..7f59e92f947c25cc41b5d92b101cadcf8d1b0272 100644 (file)
@@ -24,6 +24,7 @@
 #include "clitkSetBackgroundImageFilter.h"
 #include "clitkSegmentationUtils.h"
 #include "clitkAutoCropFilter.h"
+#include "clitkFillMaskFilter.h"
 
 // itk
 #include "itkBinaryThresholdImageFilter.h"
@@ -63,6 +64,7 @@ ExtractBonesFilter():
   SetRadius2(s);
   SetSampleRate2(0);
   AutoCropOn();
+  FillHolesOn();
 }
 //--------------------------------------------------------------------
 
@@ -90,6 +92,7 @@ SetArgsInfo(ArgsInfoType mArgsInfo)
   SetWriteStep_GGO(mArgsInfo);
   SetVerboseWarningOff_GGO(mArgsInfo);
   
+  SetAFDBFilename_GGO(mArgsInfo); 
   SetOutputBonesFilename_GGO(mArgsInfo);
 
   SetInitialSmoothing_GGO(mArgsInfo);
@@ -108,8 +111,7 @@ SetArgsInfo(ArgsInfoType mArgsInfo)
   SetRadius2_GGO(mArgsInfo);
   SetSampleRate2_GGO(mArgsInfo);
   SetAutoCrop_GGO(mArgsInfo);
-
-  SetAFDBFilename_GGO(mArgsInfo);
+  SetFillHoles_GGO(mArgsInfo);
 }
 //--------------------------------------------------------------------
 
@@ -262,6 +264,20 @@ GenerateOutputInformation() {
 
   output = setBackgroundFilter->GetOutput();
 
+  //--------------------------------------------------------------------
+  //--------------------------------------------------------------------
+  // Fill Bones
+  if (GetFillHoles()) {
+    StartNewStep("Fill Holes");
+    typedef clitk::FillMaskFilter<InternalImageType> FillMaskFilterType;
+    typename FillMaskFilterType::Pointer fillMaskFilter = FillMaskFilterType::New();
+    fillMaskFilter->SetInput(output);
+    fillMaskFilter->AddDirection(2);
+    fillMaskFilter->Update();   
+    output = fillMaskFilter->GetOutput();
+    StopCurrentStep<InternalImageType>(output);
+  }
+
   //--------------------------------------------------------------------
   //--------------------------------------------------------------------
   // [Optional]