]> Creatis software - creaVtk.git/commitdiff
Memory bug
authorEduardo Enrique Davila Serrano <davila@creatis.insa-lyon.fr>
Tue, 3 Jan 2023 13:06:28 +0000 (14:06 +0100)
committerEduardo Enrique Davila Serrano <davila@creatis.insa-lyon.fr>
Tue, 3 Jan 2023 13:06:28 +0000 (14:06 +0100)
bbtk_creaVtk_PKG/src/bbcreaVtkImageThresholdConnectivity.cxx
bbtk_creaVtk_PKG/src/bbcreaVtkImageThresholdConnectivity.h

index 2e6d5199df14c34abd7588a9a22510319be6c645..a368cc5cc94f1f99f78329f7684b4ad52b104377 100644 (file)
@@ -46,7 +46,8 @@ void ImageThresholdConnectivity::Process()
     
     if ( (bbGetInputIn()!=NULL) && (lstX.size()>0) && (lstX.size()==lstY.size()) && (lstX.size()==lstZ.size()) )
     {
-        vtkImageThresholdConnectivity *filter = vtkImageThresholdConnectivity::New();
+               if (filter!=NULL) { filter->Delete(); }
+        filter = vtkImageThresholdConnectivity::New();
         double spc[3];
         bbGetInputIn()->GetSpacing(spc);
         int border  = bbGetInputBorder();
@@ -76,7 +77,12 @@ void ImageThresholdConnectivity::Process()
         filter->SetInputData( bbGetInputIn() );
         if (bbGetInputThreshold().size()==2)
         {
-            filter->ThresholdBetween( bbGetInputThreshold()[0] , bbGetInputThreshold()[1] );
+                       if ( bbGetInputThreshold()[0] < bbGetInputThreshold()[1] )            
+                       {
+                               filter->ThresholdBetween( bbGetInputThreshold()[0] , bbGetInputThreshold()[1] );
+                       } else {
+                               filter->ThresholdBetween( bbGetInputThreshold()[1] , bbGetInputThreshold()[0] );
+                       }// if Thershold min max
         } else {
             filter->ThresholdBetween( 0, 100 );
         }// if Thershold size
@@ -102,13 +108,13 @@ void ImageThresholdConnectivity::bbUserSetDefaultValues()
 {
 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
 //    Here we initialize the input 'In' to 0
+       filter=NULL;
     bbSetInputIn(NULL);
     bbSetInputBorder(10);
     std::vector<double> maskValue;
     maskValue.push_back(0);
     maskValue.push_back(255);
     bbSetInputMaskValue(maskValue);
-
 }
 
 //===== 
index 7ed7beedcb1857aabb49a3a6fb99fdf8ca16b40f..8f53fc4e20f73e143e64eccd4417ce6a7b7d106d 100644 (file)
@@ -33,7 +33,7 @@ class bbcreaVtk_EXPORT ImageThresholdConnectivity
   BBTK_DECLARE_OUTPUT(Out,vtkImageData*);
   BBTK_PROCESS(Process);
   void Process();
-    
+       vtkImageThresholdConnectivity *filter;
 //===== 
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
 //=====