]> Creatis software - creaContours.git/blobdiff - lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx
#3388 wxContourMainFrame_tool box BBTK
[creaContours.git] / lib / Interface_ManagerContour_NDimensions / wxContourMainFrame.cxx
index 9dffcd620ad7f624764eee31fd3ebf433dee7243..986a08ef45278f6de839d0090a7d12c740a34cbb 100644 (file)
@@ -1720,16 +1720,17 @@ void wxContourMainFrame::onSegmentationOneSlice(int isovalue,int sampling,int me
        int                                     x                                       = _theViewPanel->GetX();
        int                                     y                                       = _theViewPanel->GetY();
        int                                     z                                       = _theViewPanel->GetZ();
-       SegmentationOneSlice( x,y,z,isovalue, sampling, method );
+       SegmentationOneSlice( x,y,z,isovalue, sampling, method , getImageData() );
        RefreshInterface();
 }
 
 
-void wxContourMainFrame::SegmentationOneSlice( int x, int y, int z, int isovalue, int sampling, int method )
+void wxContourMainFrame::SegmentationOneSlice( int x, int y, int z, int isovalue, int sampling, int method , vtkImageData *imagedata)
 {
        int typeofcontour = 1;
        //--Extracting Contour
-       vtkImageData    *imagedata      = getImageData();
+// 2024-01-09
+//     vtkImageData    *imagedata      = getImageData();
 
        vtkImageReslice *imageReslice = vtkImageReslice::New();
 //EED
@@ -1976,7 +1977,40 @@ void wxContourMainFrame::GetImageDataRange(double *range)
        _theViewPanel->GetImageDataRange(range);
 }
 
-void wxContourMainFrame::onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method)
+void wxContourMainFrame::onSegmentationAllSlices2(int step ,int isovalue,int sampling,int method,vtkImageData* imagedata)
+{
+    printf("wxContourMainFrame::onSegmentationAllSlices2 start\n");
+    
+    //JCP 20-10-08 Undo redo implementation
+    saveState();
+    //JCP 20-10-08 Undo redo implementation
+    wxBusyCursor wait;
+//    int                 x = _theViewPanel->GetX();
+//    int                 y = _theViewPanel->GetY();
+    int                 z;
+//    double              porcent;
+//    wxString            tmpString;
+//    double              totalZ = maxZ-minZ+1;
+    
+    int ext[6];
+    imagedata->GetExtent(ext);
+    int maxZ = ext[5]-ext[4]+1;
+    for( z=0 ; z<=maxZ ; z=z+step )
+    {
+        printf("wxContourMainFrame::onSegmentationAllSlices2 z=%d \n",z );
+//        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();
+    printf("wxContourMainFrame::onSegmentationAllSlices2 end\n");
+
+}
+
+void wxContourMainFrame::onSegmentationAllSlices(int minZ,int maxZ,int isovalue,int sampling,int method)
 {
        //JCP 20-10-08 Undo redo implementation
        saveState();
@@ -1995,7 +2029,7 @@ void wxContourMainFrame::onSegmentationAllSlice(int minZ,int maxZ,int isovalue,i
                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( x,y,z,isovalue, sampling,method );
+               SegmentationOneSlice( x,y,z,isovalue, sampling,method , getImageData() );
        }
        interfMainPanel::getInstance()->setLabelSegmentationPanelVTK(_T("   "));
        RefreshInterface();