X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.cxx;h=e18f7d654d8c3fc091ad28f16baf97dc088b4634;hb=e32d2f64d379e26224d4a3b67fa8f3ea7670c2ca;hp=548195cb526aaa76c34da97695a741f0980e1a7d;hpb=a1a71313f5569279919f44fcc2a5ebbbea123057;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx index 548195c..e18f7d6 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx @@ -135,10 +135,10 @@ char wxContourMainFrame::COPY = 'C'; void wxContourMainFrame::setVectImages(std::vector imgs) { _images = imgs; - #if defined(__GNUC__) - std::string str_home(getenv("HOME")); - #elif defined(_WIN32) + #if defined(_WIN32) std::string str_home(getenv("USERPROFILE")); + #elif defined(__GNUC__) + std::string str_home(getenv("HOME")); #endif std::string strCreaContourDataTmp = str_home + "/.creaContourDataTemp/"; std::vector conceptNameVect; @@ -725,13 +725,14 @@ void wxContourMainFrame::updateInstantImageData() _instantPanel->getInstant(inst); vtkImageData* img = kernelManager->getImageAtInstant(inst); - if(img!=NULL){ + if(img!=NULL) + { _theViewPanel->changeImage(img); showAxis(false); }else{ int z = _instantPanel->getConceptDataOf("Axe Depth")->getActualValue(); _theViewPanel->setImageSlice(z); - } + } // if img } void wxContourMainFrame::updateInstantAxes() @@ -1887,6 +1888,7 @@ void wxContourMainFrame::onSegmentationOneSlice(int isovalue,int sampling,int me void wxContourMainFrame::SegmentationOneSlice( int x, int y, int z, int isovalue, int sampling, int method ) { +printf("EED wxContourMainFrame::SegmentationOneSlice Start\n"); int typeofcontour = 1; //--Extracting Contour //vtkImageData *imagedata = _theViewPanel->getSceneManager()->GetImageData(); @@ -1983,6 +1985,7 @@ void wxContourMainFrame::SegmentationOneSlice( int x, int y, int z, int isovalue cpd2->UpdateInformation(); vtkStripper* vtkstripper = vtkStripper::New( ); + vtkstripper->SetMaximumLength(20000); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 vtkstripper->SetInput( cpd2->GetOutput() ); @@ -2030,6 +2033,23 @@ myfile.close(); std::vector vecCtrlPointZ; +printf("EED wxContourMainFrame::SegmentationOneSlice GetNumberOfLines=%d \n",polyDataResult->GetNumberOfLines() ); + +int numberOfPointsInCell; +int numberOfcells=polyDataResult->GetNumberOfCells(); +for (int jj=0; jjGetCell( jj ); + numberOfPointsInCell=vtkcell->GetNumberOfPoints(); + printf("EED wxContourMainFrame::SegmentationOneSlice cell=%d points=%d \n",jj,numberOfPointsInCell ); +}// for jj + +printf("EED wxContourMainFrame::SegmentationOneSlice PrintSelf \n"); + +polyDataResult->PrintSelf( std::cout, vtkIndent(0) ); + + + double *p; int ii,size=polyDataResult->GetNumberOfPoints(); int id; @@ -2037,6 +2057,7 @@ myfile.close(); { id = polyDataResult->GetLines()->GetData()->GetValue(ii); p = polyDataResult->GetPoint(id); +printf("EED wxContourMainFrame::SegmentationOneSlice (%d) id=%d px=%f py=%f\n",ii,id, p[0],p[1]); // double x=p[0]; // double y=p[1]; vecX.push_back( p[0] ); @@ -2062,27 +2083,30 @@ myfile.close(); extractcontrolpoints2d->GetSamplingControlPoints( &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ ); }*/ - if (method==0){ + if (method==0) + { extractcontrolpoints2d->GetInitialControlPoints( &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ ); - } - else if (method==1){ + } else if (method==1){ extractcontrolpoints2d->GetControlPoints( &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ ); - } - else if (method==2){ + } else if (method==2){ extractcontrolpoints2d->SetSamplingControlPoints( sampling ); extractcontrolpoints2d->GetSamplingControlPoints( &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ ); } //--Adding contour to the system - std::vector actualInstantVector; _instantPanel->getInstant( actualInstantVector ); actualInstantVector[1]=z; int j,sizeCtrPt = vecCtrlPointX.size(); manualBaseModel *manModelContour = kernelManager->factoryManualContourModel( typeofcontour ); - manModelContour->SetNumberOfPointsSpline( ((sizeCtrPt/100)+1)*100 ); - if (sizeCtrPt>=3){ +printf("EED wxContourMainFrame::SegmentationOneSlice sizeCtrPt=%d %d %d\n" , sizeCtrPt + , ((sizeCtrPt/100)+1)*100 *2 + , manModelContour->GetNumberOfPointsSpline() + ); + manModelContour->SetNumberOfPointsSpline( ((sizeCtrPt/100)+1)*100 *2 ); + if (sizeCtrPt>=3) + { for (j=0 ; jAddPoint( vecCtrlPointX[j] , vecCtrlPointY[j] , vecCtrlPointZ[j] ); @@ -2102,16 +2126,21 @@ myfile.close(); //_theViewPanel->getSceneManager()->configureViewControlTo( theName, manModelContour,spc, typeofcontour ) ; } // if addedModel } // if sizeCtrPt +printf("EED wxContourMainFrame::SegmentationOneSlice End\n"); } -int wxContourMainFrame::GetImageDataSizeZ(){ + +int wxContourMainFrame::GetImageDataSizeZ() +{ return _theViewPanel->GetImageDataSizeZ(); } -void wxContourMainFrame::GetImageDataRange(double *range){ +void wxContourMainFrame::GetImageDataRange(double *range) +{ _theViewPanel->GetImageDataRange(range); } -void wxContourMainFrame::onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method){ +void wxContourMainFrame::onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method) +{ //JCP 20-10-08 Undo redo implementation saveState(); //JCP 20-10-08 Undo redo implementation @@ -3087,6 +3116,7 @@ void wxContourMainFrame::SaveImageResult(std::string directory,std::string namef valueChInfo->SetInputData(value); #endif valueChInfo->SetSpacingScale(spc); + valueChInfo->Update(); vtkMetaImageWriter *writerValueImage = vtkMetaImageWriter::New( ); //EED 2017-01-01 Migration VTK7 @@ -3117,6 +3147,7 @@ void wxContourMainFrame::SaveImageResult(std::string directory,std::string namef maskChInfo->SetInputData(mask); #endif maskChInfo->SetSpacingScale(spc); + maskChInfo->Update(); vtkMetaImageWriter *writerMaskImage = vtkMetaImageWriter::New( ); //EED 2017-01-01 Migration VTK7 @@ -3485,6 +3516,11 @@ void wxContourMainFrame::FlipContours(int typeContourFlip, int flipDirection) } +void wxContourMainFrame::SetXY(int x, int y) +{ + _theViewPanel->SetXY(x,y); +} +