onLoadContours(filename,false);
}
-void wxContourMainFrame::onLoad()
+void wxContourMainFrame::onLoad(bool interactiveInterface) // interactiveInterface default true
{
std::string fileNameContourROI = GetFileLocation();
//CMRU 03-09-09-----------------------------------------------------------------------------------------------
fileNameContourROI = (const char *)(dialog.GetPath().mb_str());
} // if dialog
} // if FileLocation
- onLoadContours(fileNameContourROI,true);
+ onLoadContours(fileNameContourROI, interactiveInterface );
}
void wxContourMainFrame::SetZForAllContours(int pz)
}
-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();
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
_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();
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();