]> Creatis software - creaContours.git/blobdiff - lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx
#3390 ContourReferece Grid and Step
[creaContours.git] / lib / Interface_ManagerContour_NDimensions / wxContourMainFrame.cxx
index 92600cd969d8240fb56ffb7a969e0bae5f1fcf97..888e51f73d4667e880cb2de76254a5a9f0bf9ad5 100644 (file)
@@ -1977,6 +1977,7 @@ void wxContourMainFrame::GetImageDataRange(double *range)
        _theViewPanel->GetImageDataRange(range);
 }
 
+// Used from wxContourMainFrame_tool  bbtk box
 void wxContourMainFrame::onSegmentationAllSlices2(int step ,double isovalue,int sampling,int method,int minZ, int maxZ,vtkImageData* imagedata)
 {
     //JCP 20-10-08 Undo redo implementation
@@ -1994,16 +1995,20 @@ void wxContourMainFrame::onSegmentationAllSlices2(int step ,double isovalue,int
     int sizeZ = ext[5]-ext[4]+1;
     if (minZ<0) { minZ=0; }
     if (maxZ>=sizeZ) { maxZ=sizeZ-1; }
-    for( z=minZ ; z<=maxZ ; z=z+step )
-    {
-//        porcent = 100.0* (z-minZ)/totalZ;
-//       tmpString.Printf(_T("  %d %c            %d/%d            %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ,z );
-//        interfMainPanel::getInstance()->setLabelSegmentationPanelVTK(tmpString);
-        //_staticTextSegmentation->SetLabel(tmpString);
-        SegmentationOneSlice( 100,100,z,isovalue, sampling,method , imagedata );
-    }
-//    interfMainPanel::getInstance()->setLabelSegmentationPanelVTK(_T("   "));
-    RefreshInterface();
+    if (step>=1) {
+        int _minZ = minZ/step;
+        _minZ=_minZ*step;
+        for( z=_minZ ; z<=maxZ ; z=z+step )
+        {
+            //        porcent = 100.0* (z-minZ)/totalZ;
+            //       tmpString.Printf(_T("  %d %c            %d/%d            %d"), (int)porcent , 37 , z-minZ+1, (int)totalZ,z );
+            //        interfMainPanel::getInstance()->setLabelSegmentationPanelVTK(tmpString);
+            //_staticTextSegmentation->SetLabel(tmpString);
+            SegmentationOneSlice( 100,100,z,isovalue, sampling,method , imagedata );
+        }
+        //    interfMainPanel::getInstance()->setLabelSegmentationPanelVTK(_T("   "));
+        RefreshInterface();
+    } // if step
 }
 
 void wxContourMainFrame::onSegmentationAllSlices(int minZ,int maxZ,double isovalue,int sampling,int method)