]> Creatis software - clitk.git/blobdiff - itk/clitkSliceBySliceRelativePositionFilter.txx
Temp fix (see http://kingkong.grid.creatis.insa-lyon.fr:9002/issues/274)
[clitk.git] / itk / clitkSliceBySliceRelativePositionFilter.txx
index eafb41608e3e8ae68f1e30b10360d5d96607e830..6a4b0f49ab507a089842ef723ab58f169f3ac61f 100644 (file)
@@ -33,6 +33,9 @@ SliceBySliceRelativePositionFilter():
   SetDirection(2);
   UniqueConnectedComponentBySliceOff();
   SetIgnoreEmptySliceObjectFlag(false);
+  UseASingleObjectConnectedComponentBySliceFlagOn();
+  this->VerboseStepFlagOff();
+  this->WriteStepFlagOff();
   this->SetCombineWithOrFlag(false);
 }
 //--------------------------------------------------------------------
@@ -173,11 +176,16 @@ GenerateOutputInformation()
   // Perform slice by slice relative position
   this->StartNewStep("Perform slice by slice relative position");
   for(unsigned int i=0; i<mInputSlices.size(); i++) {
-    // Select main CC in each object slice (required ?)
+    
+    // Count the number of CCL (allow to ignore empty slice)
     int nb=0;
     mObjectSlices[i] = LabelizeAndCountNumberOfObjects<SliceType>(mObjectSlices[i], 0, true, 1, nb);
     if ((!GetIgnoreEmptySliceObjectFlag()) || (nb!=0)) {
-      mObjectSlices[i] = KeepLabels<SliceType>(mObjectSlices[i], 0, 1, 1, 1, true);
+
+      // Select or not a single CCL ?
+      if (GetUseASingleObjectConnectedComponentBySliceFlag()) {
+        mObjectSlices[i] = KeepLabels<SliceType>(mObjectSlices[i], 0, 1, 1, 1, true);
+      }
 
       // Relative position
       typedef clitk::AddRelativePositionConstraintToLabelImageFilter<SliceType> RelPosFilterType;