X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.cxx;h=92600cd969d8240fb56ffb7a969e0bae5f1fcf97;hb=469e6994cecb1763109864df0be7067fe5c344f3;hp=3961f40d8aedb16ddd4220f21bcdfc18d447cb66;hpb=cec3eb994e7ccd4a814559828e973166c2061c65;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx index 3961f40..92600cd 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx @@ -872,7 +872,7 @@ void wxContourMainFrame ::loadState(std::string filename) onLoadContours(filename,false); } -void wxContourMainFrame::onLoad() +void wxContourMainFrame::onLoad(bool interactiveInterface) // interactiveInterface default true { std::string fileNameContourROI = GetFileLocation(); //CMRU 03-09-09----------------------------------------------------------------------------------------------- @@ -890,7 +890,7 @@ void wxContourMainFrame::onLoad() fileNameContourROI = (const char *)(dialog.GetPath().mb_str()); } // if dialog } // if FileLocation - onLoadContours(fileNameContourROI,true); + onLoadContours(fileNameContourROI, interactiveInterface ); } void wxContourMainFrame::SetZForAllContours(int pz) @@ -1710,7 +1710,7 @@ void wxContourMainFrame::SegmentationOneSliceITK(int x, int y, int z, wxString d } -void wxContourMainFrame::onSegmentationOneSlice(int isovalue,int sampling,int method){ +void wxContourMainFrame::onSegmentationOneSlice(double isovalue,int sampling,int method){ //JCP 20-10-08 Undo redo implementation saveState(); @@ -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, double 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,36 @@ 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 ,double isovalue,int sampling,int method,int minZ, int maxZ,vtkImageData* imagedata) +{ + //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 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(); +} + +void wxContourMainFrame::onSegmentationAllSlices(int minZ,int maxZ,double isovalue,int sampling,int method) { //JCP 20-10-08 Undo redo implementation saveState(); @@ -1995,7 +2025,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();