]> Creatis software - creaContours.git/commitdiff
#3377 creaContours Bug New Normal - vtk8itk5wx3-mingw64
authorEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Wed, 18 Mar 2020 13:26:43 +0000 (14:26 +0100)
committerEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Wed, 18 Mar 2020 13:26:43 +0000 (14:26 +0100)
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h

index 793e05d9ebf18b600e7363c163ef7dbeaa1edb89..1ce584994fc26d25f27de8c341be8249d293c964 100644 (file)
@@ -1398,473 +1398,321 @@ void wxContourMainFrame::SegmentationOneSliceITK(int x, int y, int z, wxString d
        int typeofcontour = 1;
        //Image Data
        vtkImageData    *imagedata      = getImageData();
-
        //Tipo de pixeles a utilizar internamente en ITK
        typedef   float  InternalPixelType;
        const     unsigned int    Dimension = 2;
        typedef itk::Image< InternalPixelType, Dimension >  InternalImageType;
-
        //Tipo de pixeles de salida 1
        typedef unsigned char OutputPixelType;
        typedef itk::Image< OutputPixelType, Dimension > OutputImageType;
-
        //Tipo de pixeles de salida 2
        typedef unsigned short OutputPixelType2;
        typedef itk::Image< OutputPixelType2, Dimension > OutputImageType2;
-
        //DefiniciÛn del thresholder
        typedef itk::BinaryThresholdImageFilter<
                                                        InternalImageType,
                                                        OutputImageType    >    ThresholdingFilterType;
-
        //DefiniciÛn del primer filtro de conversiÛn de pixeles
        typedef itk::CastImageFilter<
                                OutputImageType, OutputImageType2 >  CastFilterType;
-
        //DefiniciÛn del segundo tipo de conversiÛn de pixeles
        typedef itk::CastImageFilter<
                                OutputImageType2, InternalImageType >  CastFilterType2;
-
        //Tercer tipo de conversiÛn
        typedef itk::RescaleIntensityImageFilter<
                                                                InternalImageType,
                                                                OutputImageType >   CastFilterType3;
-
        //Cuarto tipo de conversiÛn
        typedef itk::RescaleIntensityImageFilter<
                                                                OutputImageType,
                                                                OutputImageType >   CastFilterType4;
-
        ThresholdingFilterType::Pointer thresholder = ThresholdingFilterType::New();
-
        thresholder->SetLowerThreshold( 0.0 );
        thresholder->SetUpperThreshold( 128 );
-
        thresholder->SetOutsideValue(  255  );
        thresholder->SetInsideValue(  0 );
-
        //DefinciÛn de conexiÛnes entre VTK e ITK y el writer
        typedef itk::VTKImageToImageFilter<OutputImageType2> ConnectorType;
        typedef itk::ImageToVTKImageFilter<OutputImageType> ConnectorType2;
 //EED10JUIN2011        typedef  itk::ImageFileWriter<  OutputImageType  > WriterType;
-
-       ConnectorType::Pointer connector= ConnectorType::New();
-       ConnectorType2::Pointer connector2= ConnectorType2::New();
-
-
-       CastFilterType::Pointer filter=CastFilterType::New();
-       CastFilterType2::Pointer filter2=CastFilterType2::New();
-
+       ConnectorType::Pointer connector        = ConnectorType::New();
+       ConnectorType2::Pointer connector2      = ConnectorType2::New();
+       CastFilterType::Pointer filter   = CastFilterType::New();
+       CastFilterType2::Pointer filter2 = CastFilterType2::New();
        connector->SetInput( imagedata );
        filter2->SetInput(connector->GetOutput());
-
        typedef   itk::CurvatureAnisotropicDiffusionImageFilter<
                                                                InternalImageType,
                                                                InternalImageType >  SmoothingFilterType;
-
        SmoothingFilterType::Pointer smoothing = SmoothingFilterType::New();
-
        typedef   itk::GradientMagnitudeRecursiveGaussianImageFilter<
                                                                InternalImageType,
                                                                InternalImageType >  GradientFilterType;
-
        typedef   itk::SigmoidImageFilter<
                                                                InternalImageType,
                                                                InternalImageType >  SigmoidFilterType;
-
        GradientFilterType::Pointer  gradientMagnitude = GradientFilterType::New();
-
        SigmoidFilterType::Pointer sigmoid = SigmoidFilterType::New();
-
        sigmoid->SetOutputMinimum(  0.0  );
        sigmoid->SetOutputMaximum(  255.0  );
-
-
        typedef  itk::FastMarchingImageFilter<
                                                                InternalImageType,
                                                                InternalImageType >    FastMarchingFilterType;
-
-
        FastMarchingFilterType::Pointer  fastMarching = FastMarchingFilterType::New();
-       
-printf("EED wxContourMainFrame::SegmentationOneSliceITK  Skypping this code.  Not compiling   GeodesicActiveContourLevelSetImageFilter     in fedora 17 with ITK 3.20.1 \n ");
-/*EED 17 sept 2010
- > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > -   Not compiling   GeodesicActiveContourLevelSetImageFilter     in fedora 17 with ITK 3.20.1
        typedef  itk::GeodesicActiveContourLevelSetImageFilter< InternalImageType,
                                        InternalImageType >    GeodesicActiveContourFilterType;
        GeodesicActiveContourFilterType::Pointer geodesicActiveContour =
                                                                                GeodesicActiveContourFilterType::New();
-
        typedef  itk::ZeroCrossingImageFilter<
                                                                InternalImageType,
                                                                InternalImageType >    ZeroCrossingFilterType;
        ZeroCrossingFilterType::Pointer zeroCrossing =
                                                        ZeroCrossingFilterType::New();
-
        const double propagationScaling = atof( crea::wx2std(prop).c_str() );
-
        geodesicActiveContour->SetPropagationScaling( propagationScaling );
        geodesicActiveContour->SetCurvatureScaling( 1.0 );
        geodesicActiveContour->SetAdvectionScaling( 1.0 );
-
        geodesicActiveContour->SetMaximumRMSError( 0.02 );
        int it=atoi(  crea::wx2std(iter).c_str() );
        geodesicActiveContour->SetNumberOfIterations( it );
-
        smoothing->SetInput( filter2->GetOutput() );
        gradientMagnitude->SetInput( smoothing->GetOutput() );
        sigmoid->SetInput( gradientMagnitude->GetOutput() );
        fastMarching->SetInput( sigmoid->GetOutput() );
        geodesicActiveContour->SetInput( fastMarching->GetOutput() );
        geodesicActiveContour->SetFeatureImage( sigmoid->GetOutput() );
-
        zeroCrossing->SetInput( geodesicActiveContour->GetOutput() );
        //thresholder->SetInput( zeroCrossing->GetOutput() );
        thresholder->SetInput( geodesicActiveContour->GetOutput() );
        connector2->SetInput( thresholder->GetOutput()  );
-< - < - < - < - < - < - < - < - < - < - < - < - < - < - < - < - < - < - < - < - 
-*/
-       
-       
-       
-
        smoothing->SetTimeStep( 0.125 );
        smoothing->SetNumberOfIterations(  5 );
        smoothing->SetConductanceParameter( 9.0 );
-
-
-       const double sigma = atof(  crea::wx2std(sigm).c_str() );
+       const double sigma      = atof(  crea::wx2std(sigm).c_str() );
        gradientMagnitude->SetSigma(  sigma  );
-
-       const double alpha =  atof(  crea::wx2std(alf).c_str() );
-       const double beta  =  atof(  crea::wx2std(bet).c_str() );
-
+       const double alpha      =  atof(  crea::wx2std(alf).c_str() );
+       const double beta       =  atof(  crea::wx2std(bet).c_str() );
        sigmoid->SetAlpha( alpha );
        sigmoid->SetBeta(  beta  );
-
        typedef FastMarchingFilterType::NodeContainer  NodeContainer;
        typedef FastMarchingFilterType::NodeType       NodeType;
-
        NodeContainer::Pointer seeds = NodeContainer::New();
-
        InternalImageType::IndexType  seedPosition;
-       seedPosition[0] = x;
-       seedPosition[1] = y;
-
+       seedPosition[0]         = x;
+       seedPosition[1]         = y;
        const double initialDistance = atof( crea::wx2std(distanc).c_str() );
-
        NodeType node;
-
        const double seedValue = - initialDistance;
-
        node.SetValue( seedValue );
        node.SetIndex( seedPosition );
-
        seeds->Initialize();
        seeds->InsertElement( 0, node );
-
        fastMarching->SetTrialPoints( seeds );
-
        fastMarching->SetSpeedConstant( 1.0 );
-
-       fastMarching->SetOutputSize(
-                       connector->GetOutput()->GetBufferedRegion().GetSize() );
-
+       fastMarching->SetOutputSize( connector->GetOutput()->GetBufferedRegion().GetSize() );
        fastMarching->SetStoppingValue( 800 );
        try
     {
-
-       connector2->Update();
-       vtkImageData *idata = connector2->GetOutput();
-
-       vtkMarchingContourFilter* cntVTK = vtkMarchingContourFilter::New( );
-
-       cntVTK->SetNumberOfContours( 1 );
-       cntVTK->SetValue( 0, 255 );
+//             connector2->Update();
+               vtkImageData *idata = NULL;
+               idata                           = connector2->GetOutput();
+               vtkMarchingContourFilter* cntVTK = vtkMarchingContourFilter::New( );
+               cntVTK->SetNumberOfContours( 1 );
+               cntVTK->SetValue( 0, 255 );
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
-       cntVTK->SetInput( idata );
-       cntVTK->Update( );
-       cntVTK->UpdateInformation();
+               cntVTK->SetInput( idata );
+               cntVTK->Update( );
+               cntVTK->UpdateInformation();
 #else
-       cntVTK->SetInputData( idata );
+               cntVTK->SetInputData( idata );
 #endif
-
-       vtkCleanPolyData* cpd = vtkCleanPolyData::New( );
-
+               vtkCleanPolyData* cpd = vtkCleanPolyData::New( );
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
-       cpd->SetInput( cntVTK->GetOutput( ) );
-       cpd->Update( );
-       cpd->UpdateInformation();
+               cpd->SetInput( cntVTK->GetOutput( ) );
+               cpd->Update( );
+               cpd->UpdateInformation();
 #else
-       cpd->SetInputData( cntVTK->GetOutput( ) );
+               cpd->SetInputData( cntVTK->GetOutput( ) );
 #endif
-
-
-       vtkPolyDataConnectivityFilter* conn = vtkPolyDataConnectivityFilter::New( );
-       conn->SetExtractionModeToLargestRegion( );
+               vtkPolyDataConnectivityFilter* conn = vtkPolyDataConnectivityFilter::New( );
+               conn->SetExtractionModeToLargestRegion( );
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
-       conn->SetInput( cpd->GetOutput( ) );
-       conn->Update( );
-       conn->UpdateInformation();
+               conn->SetInput( cpd->GetOutput( ) );
+               conn->Update( );
+               conn->UpdateInformation();
 #else
-       conn->SetInputData( cpd->GetOutput( ) );
+               conn->SetInputData( cpd->GetOutput( ) );
 #endif
-
-
-       vtkStripper* vtkstripper = vtkStripper::New( );
-
+               vtkStripper* vtkstripper = vtkStripper::New( );
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
-       vtkstripper->SetInput( conn->GetOutput() );
-       vtkstripper->Update();
-       vtkstripper->UpdateInformation();
+               vtkstripper->SetInput( conn->GetOutput() );
+               vtkstripper->Update();
+               vtkstripper->UpdateInformation();
 #else
-       vtkstripper->SetInputData( conn->GetOutput() );
-       cntVTK->Update();
+               vtkstripper->SetInputData( conn->GetOutput() );
+               cntVTK->Update();
 #endif
-
-       vtkPolyData* polyDataResult =  cntVTK->GetOutput();
-       //std::cout<<"Points "<<polyDataResult->GetNumberOfPoints()<<std::endl;
+               vtkPolyData* polyDataResult =  cntVTK->GetOutput();
+               //std::cout<<"Points "<<polyDataResult->GetNumberOfPoints()<<std::endl;
 
 //EED 2017-01-01 Migration VTK7
 #if VTK_MAJOR_VERSION <= 5
-       polyDataResult->Update( );
-       polyDataResult->UpdateInformation();
+               polyDataResult->Update( );
+               polyDataResult->UpdateInformation();
 #else
        // ..
 #endif
-
-       //EED
-               /*
-       ofstream myfile;
-       myfile.open ("C:/Creatis/example.txt");
-       myfile << "\n";
-       polyDataResult->Print(myfile);
-       myfile << "-------------------------------------\n";
-       polyDataResult->GetLines()->Print(myfile);
-       myfile.close();*/
-
-       cntVTK          -> Delete();
-       cpd                     -> Delete();
-       conn            -> Delete();
-
-
-       //--Calculating control points
-
-       std::vector<double> vecX;
-       std::vector<double> vecY;
-       std::vector<double> vecXo;
-       std::vector<double> vecYo;
-       std::vector<double>::iterator vecXoi;
-       std::vector<double>::iterator vecYoi;
-       std::vector<double> vecZ;
-
-       std::vector<double> vecCtrlPointX;
-       std::vector<double> vecCtrlPointY;
-       std::vector<double> vecCtrlPointZ;
-
-
-       double *p;
-       double xAct=0;
-       double yAct=0;
-       int ii,size=polyDataResult->GetNumberOfPoints();
-       ofstream myfile;
-       myfile.open ("C:/Creatis/example2.txt");
-
-       size=polyDataResult->GetNumberOfPoints();
-       for (ii=0;ii<size;ii++)
-       {
-               if(ii==0)
-               {
-                       xAct=x;
-                       yAct=y;
-               }
-               p       = polyDataResult->GetPoint(ii);
-               double x=p[0];
-               double y=p[1];
-               /*if(fabs(yAct-y)>20)
+               cntVTK          -> Delete();
+               cpd                     -> Delete();
+               conn            -> Delete();
+               //--Calculating control points
+               std::vector<double> vecX;
+               std::vector<double> vecY;
+               std::vector<double> vecXo;
+               std::vector<double> vecYo;
+               std::vector<double>::iterator vecXoi;
+               std::vector<double>::iterator vecYoi;
+               std::vector<double> vecZ;
+               std::vector<double> vecCtrlPointX;
+               std::vector<double> vecCtrlPointY;
+               std::vector<double> vecCtrlPointZ;
+               double *p;
+               double xAct=0;
+               double yAct=0;
+               int ii,size=polyDataResult->GetNumberOfPoints();
+               ofstream myfile;
+               myfile.open ("C:/Creatis/example2.txt");
+               size=polyDataResult->GetNumberOfPoints();
+               for (ii=0;ii<size;ii++)
                {
-                       if((xAct-x)>1 || (xAct-x)<-1)
+                       if(ii==0)
                        {
-                       vecX.push_back( p[0] );
-                       vecY.push_back( p[1] );
-                       myfile <<p[0]<<","<<p[1]<<"\n";
-                       std::cout<<" x Anterior "<<xAct<<" x actual "<<x<<std::endl;
-               std::cout<<" y Anterior "<<yAct<<" y actual "<<y<<std::endl;
-               std::cout<<" x "<<p[0]<<" y "<<p[1]<<std::endl;
-                       vecZ.push_back( 900 );
-                       xAct=x;
-                       yAct=y;
+                               xAct=x;
+                               yAct=y;
                        }
-                       else
+                       p       = polyDataResult->GetPoint(ii);
+                       double x=p[0];
+                       double y=p[1];
+//                     if(fabs(yAct-y)>20)
+//                     {
+//                             if((xAct-x)>1 || (xAct-x)<-1)
+//                             {
+//                                     vecX.push_back( p[0] );
+//                                     vecY.push_back( p[1] );
+//                                     myfile <<p[0]<<","<<p[1]<<"\n";
+//                                     std::cout<<" x Anterior "<<xAct<<" x actual "<<x<<std::endl;
+//                                     std::cout<<" y Anterior "<<yAct<<" y actual "<<y<<std::endl;
+//                                     std::cout<<" x "<<p[0]<<" y "<<p[1]<<std::endl;
+//                                     vecZ.push_back( 900 );
+//                                     xAct=x;
+//                                     yAct=y;
+//                             } else {
+//                                     vecXo.push_back(p[0]);
+//                                     vecYo.push_back(p[1]);
+//                             }
+//                     } else
+
+                       if(fabs(xAct-x)>11)
                        {
                                vecXo.push_back(p[0]);
                                vecYo.push_back(p[1]);
-                       }
-
-               }
-               else*/ if(fabs(xAct-x)>11)
-               {
-                       vecXo.push_back(p[0]);
-                       vecYo.push_back(p[1]);
-               } else {
-                       vecX.push_back( p[0] );
-                       myfile <<p[0]<<","<<p[1]<<"\n";
-                       //std::cout<<" x Anterior "<<xAct<<" x actual "<<x<<std::endl;
-                       //std::cout<<" y Anterior "<<yAct<<" y actual "<<y<<std::endl;
-                       //std::cout<<" x "<<p[0]<<" y "<<p[1]<<std::endl;
-                       vecY.push_back( p[1] );
+                       } else {
+                               vecX.push_back( p[0] );
+                               myfile <<p[0]<<","<<p[1]<<"\n";
+                               //std::cout<<" x Anterior "<<xAct<<" x actual "<<x<<std::endl;
+                               //std::cout<<" y Anterior "<<yAct<<" y actual "<<y<<std::endl;
+                               //std::cout<<" x "<<p[0]<<" y "<<p[1]<<std::endl;
+                               vecY.push_back( p[1] );
 //EED 2017-12-16
-                       vecZ.push_back( -900 );
-                       xAct = x;
-                       yAct = y;
-               } // if xAct
-
+                               vecZ.push_back( -900 );
+                               xAct = x;
+                               yAct = y;
+                       } // if xAct
 
-       }
 
-       while(!vecXo.empty())
-       {
-               vecX.push_back(vecXo.back());
-               //std::cout<<" x Siguiente "<<vecXo.back();
-               vecXo.pop_back();
-//EED 2017-12-16
-               vecZ.push_back( -900 );
-       }
-       while(!vecYo.empty())
-       {
-               vecY.push_back(vecYo.back());
-                       vecYo.pop_back();
-       }
-       myfile.close();
+               } // for
 
-       /*for(int l=0;l<vecX.size();l++)
-       {
-               if(l==0)
+               while(!vecXo.empty())
                {
-            vecXo.push_back(p[0]);
-                       vecYo.push_back(p[1]);
+                       vecX.push_back(vecXo.back());
+                       //std::cout<<" x Siguiente "<<vecXo.back();
+                       vecXo.pop_back();
+       //EED 2017-12-16
+                       vecZ.push_back( -900 );
                }
-               else
+               while(!vecYo.empty())
                {
-                       if(vecXoi[l-1]==)
-                       {
-                       }
+                       vecY.push_back(vecYo.back());
+                               vecYo.pop_back();
                }
+               myfile.close();
+
+//             for(int l=0;l<vecX.size();l++)
+//             {
+//                     if(l==0)
+//                     {
+//               vecXo.push_back(p[0]);
+//                             vecYo.push_back(p[1]);
+//                     } else {
+//                             if(vecXoi[l-1]==)
+//                             {
+//                             }
+//                     } // if
+//             } // for
 
-       }*/
-
-       ExtractControlPoints2D *extractcontrolpoints2d = new ExtractControlPoints2D();
-
-       extractcontrolpoints2d->SetContour( &vecX , &vecY , &vecZ );
+               ExtractControlPoints2D *extractcontrolpoints2d = new ExtractControlPoints2D();
+               extractcontrolpoints2d->SetContour( &vecX , &vecY , &vecZ );
 
-       int method=2;
-       if (method==0){
-               extractcontrolpoints2d->GetInitialControlPoints( &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ );
-       }
-       else if (method==1){
-               extractcontrolpoints2d->GetControlPoints(  &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ );
-       }
-       else if (method==2){
-               extractcontrolpoints2d->SetSamplingControlPoints( 15 );
-               extractcontrolpoints2d->GetSamplingControlPoints(  &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ );
-       }
-       //--Adding contour to the system
+               int method=2;
+               if (method==0)
+               {
+                       extractcontrolpoints2d->GetInitialControlPoints( &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ );
+               } else if (method==1){
+                       extractcontrolpoints2d->GetControlPoints(  &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ );
+               } else if (method==2){
+                       extractcontrolpoints2d->SetSamplingControlPoints( 15 );
+                       extractcontrolpoints2d->GetSamplingControlPoints(  &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ );
+               }
+               //--Adding contour to the system
 
-       std::vector<int> actualInstantVector;
-       _instantPanel->getInstant( actualInstantVector );
-       actualInstantVector[1]=z;
+               std::vector<int> actualInstantVector;
+               _instantPanel->getInstant( actualInstantVector );
+               actualInstantVector[1]=z;
 
-       int j,sizeCtrPt = vecCtrlPointX.size();
+               int j,sizeCtrPt = vecCtrlPointX.size();
 
-       manualBaseModel *manModelContour =  kernelManager->factoryManualContourModel( typeofcontour );
-       manModelContour->SetNumberOfPointsSpline( ((sizeCtrPt/100)+1)*100 );
-       if (sizeCtrPt>=3){
-               for (j=0 ; j<sizeCtrPt ; j++)
-               {
-                       manModelContour->AddPoint( vecCtrlPointX[j] , vecCtrlPointY[j] , vecCtrlPointZ[j]  );
-               } // for
-               std::string theName;
-               //theName = _modelManager->createOutline( manModelContour, actualInstantVector );
-               theName = kernelManager->createOutline( manModelContour, actualInstantVector );
-               bool addedModel = theName.compare("") != 0;
-               if( addedModel )
-               {
-                       double spc[3];//Si no hay imagen pero hay contornos que spacing se pone por default
-                       _theViewPanel->getSpacing(spc);
-                       //Adding the manualContourControler to interface objects structure
-                       //Adding the manualViewContour to interface objects structure
-                       //_theViewPanel->getSceneManager()->setControlActiveStateOfALL( false );//This call is being done here because if the ROI is created underneath the previously created ROIS will still be active.
-                       _theViewPanel->configureViewControlTo(theName, manModelContour, spc, typeofcontour);
-                       //_theViewPanel->getSceneManager()->configureViewControlTo( theName, manModelContour,spc, typeofcontour ) ;
-               }       // if addedModel
-       } // if sizeCtrPt
+               manualBaseModel *manModelContour =  kernelManager->factoryManualContourModel( typeofcontour );
+               manModelContour->SetNumberOfPointsSpline( ((sizeCtrPt/100)+1)*100 );
+               if (sizeCtrPt>=3){
+                       for (j=0 ; j<sizeCtrPt ; j++)
+                       {
+                               manModelContour->AddPoint( vecCtrlPointX[j] , vecCtrlPointY[j] , vecCtrlPointZ[j]  );
+                       } // for
+                       std::string theName;
+                       //theName = _modelManager->createOutline( manModelContour, actualInstantVector );
+                       theName = kernelManager->createOutline( manModelContour, actualInstantVector );
+                       bool addedModel = theName.compare("") != 0;
+                       if( addedModel )
+                       {
+                               double spc[3];//Si no hay imagen pero hay contornos que spacing se pone por default
+                               _theViewPanel->getSpacing(spc);
+                               //Adding the manualContourControler to interface objects structure
+                               //Adding the manualViewContour to interface objects structure
+                               //_theViewPanel->getSceneManager()->setControlActiveStateOfALL( false );//This call is being done here because if the ROI is created underneath the previously created ROIS will still be active.
+                               _theViewPanel->configureViewControlTo(theName, manModelContour, spc, typeofcontour);
+                               //_theViewPanel->getSceneManager()->configureViewControlTo( theName, manModelContour,spc, typeofcontour ) ;
+                       }       // if addedModel
+               } // if sizeCtrPt
 
+    }   catch( itk::ExceptionObject & excep ) {
+               std::cerr << "Exception caught !" << std::endl;
+               std::cerr << excep << std::endl;
+    } // try
 
-/*
-//EED10JUIN2011
-                WriterType::Pointer writer = WriterType::New();
-         CastFilterType3::Pointer caster = CastFilterType3::New();
-
-                caster->SetInput( gradientMagnitude->GetOutput() );
-                writer->SetInput( caster->GetOutput() );
-                writer->SetFileName("Gradient Magnitude.png");
-                caster->SetOutputMinimum(   0 );
-                caster->SetOutputMaximum( 255 );
-                writer->Update();
-
-                CastFilterType3::Pointer caster2 = CastFilterType3::New();
-                WriterType::Pointer writer2 = WriterType::New();
-
-                caster2->SetInput( sigmoid->GetOutput() );
-                writer2->SetInput( caster2->GetOutput() );
-                writer2->SetFileName("Sigmoid.png");
-                caster2->SetOutputMinimum(   0 );
-                caster2->SetOutputMaximum( 255 );
-                writer2->Update();
-
-                CastFilterType3::Pointer caster3 = CastFilterType3::New();
-                WriterType::Pointer writer3 = WriterType::New();
-
-                caster3->SetInput( fastMarching->GetOutput() );
-                writer3->SetInput( caster3->GetOutput() );
-                writer3->SetFileName("FastMarching.bmp");
-                caster3->SetOutputMinimum(   0 );
-                caster3->SetOutputMaximum( 255 );
-                writer3->Update();
-
-                CastFilterType3::Pointer caster4 = CastFilterType3::New();
-                WriterType::Pointer writer4 = WriterType::New();
-
-                caster4->SetInput( geodesicActiveContour->GetOutput() );
-                writer4->SetInput( caster4->GetOutput() );
-                writer4->SetFileName("GeodesicActiveContour.png");
-                caster4->SetOutputMinimum(   0 );
-                caster4->SetOutputMaximum( 255 );
-                writer4->Update();
-
-                CastFilterType3::Pointer caster5 = CastFilterType3::New();
-                WriterType::Pointer writer5 = WriterType::New();
-
-                caster5->SetInput( zeroCrossing->GetOutput() );
-                writer5->SetInput( caster5->GetOutput() );
-                writer5->SetFileName("ZeroCrossing.bmp");
-                caster5->SetOutputMinimum(   0 );
-                caster5->SetOutputMaximum( 255 );
-                writer5->Update();
-*/
-    }
-  catch( itk::ExceptionObject & excep )
-    {
-    std::cerr << "Exception caught !" << std::endl;
-    std::cerr << excep << std::endl;
-    }
 }
 
 void wxContourMainFrame::onSegmentationOneSlice(int isovalue,int sampling,int method){
index fac56dd504ede32872d5c63dc3d24b3a15d2a995..3e31bbd1a7a3542d77c138ba78d6232e74861d45 100644 (file)
@@ -82,6 +82,9 @@
 
 //EED10JUIN2011  #include "itkImageFileWriter.h"
 
+//EED2020-03-18
+#undef Success
+
 #include "itkImageToVTKImageFilter.h"
 #include "itkVTKImageToImageFilter.h"