]> Creatis software - creaContours.git/commitdiff
*** empty log message ***
authordonadio <donadio>
Thu, 7 May 2009 09:56:21 +0000 (09:56 +0000)
committerdonadio <donadio>
Thu, 7 May 2009 09:56:21 +0000 (09:56 +0000)
appli/wxContourGUIExample/wxContourGUIExample.cxx
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx

index abfe141cd044541bd4a006b8f526192b39dd9368..67eef427b819505171d718c4d36262a0a1bb76cc 100644 (file)
@@ -7,7 +7,6 @@
 //#include "OutlineModelManager.h"
 //#include "wxContourEventHandler.h"
 
 #include <creaImageIOWxGimmickDialog.h>
 
 #include <creaVtkBasicSlicer.h>
@@ -29,7 +28,6 @@
 
 //#include "interfMainPanel.h"
 
-
 #if defined(MACOSX) // assume this is OSX 
 # include <sys/param.h>
 # include <mach-o/dyld.h> // _NSGetExecutablePath : must add -framework CoreFoundation to link line 
 
 #include <stdlib.h>
 
-
 wxContourMainFrame* wxTheApplication::frame = 0;
+
 //----------------------------------------------------------------------------------------------------------------
 // This macro implements the entry point (main function) for the application
 //----------------------------------------------------------------------------------------------------------------
 
-
 /*
 //EED
 // http://lists.wxwidgets.org/archive/wx-dev/msg30449.html
@@ -224,7 +221,6 @@ int get_app_path (char *pname, size_t pathsize)
 #define CREACONTOUR_VALID_FILE_SEPARATOR_CHAR '/'
 #endif
 
-
 //=========================================================================
 std::string GetExecutablePath()
 {
@@ -244,23 +240,14 @@ std::string GetExecutablePath()
        }
     return name;
 }
-//=========================================================================
-
-
-
-
-
-
-
-
 
+//=========================================================================
+//=========================================================================
 IMPLEMENT_APP( wxTheApplication );
-
 /*
 wxContourGUIExample :: wxContourGUIExample(const wxString& title, const wxPoint& pos, const wxSize& size)
 : wxFrame((wxFrame *) NULL, -1, title, pos, size)
 {
-       
 }
 */
 
@@ -276,11 +263,6 @@ void wxAppConsole::OnAssertFailure(char const *,int,char const *,char const *,ch
 
 bool wxTheApplication :: OnInit()
 {
-
-
-       
-       
-
        wxInitAllImageHandlers();
 
    int image_type = GIMMICK_3D_IMAGE_SELECTION;
@@ -328,7 +310,6 @@ bool wxTheApplication :: OnInit()
                return -1;
        }   
 
-
        wxFrame* frame1 = new wxFrame(NULL, wxID_ANY, wxT("ROI Application  -    Evaluation version, 09 Feb 2009 "), wxPoint(400,50), wxSize(800, 600) );
 
        //frame = new wxContourMainFrame( frame1, wxID_ANY, wxString(_T("")), wxPoint(50,50), wxSize(800, 600), images ); 
@@ -346,5 +327,4 @@ int main(int argc, char* argv[])
                   ::GetCommandLine(), SW_SHOWNORMAL);                  
   }            
 #else
-#endif
-
+#endif
\ No newline at end of file
index 30cafdf91220e9193cbf66038d781874208c3a4a..e6a1eec84fc756e626e1892c515088358323c7b9 100644 (file)
@@ -939,177 +939,176 @@ void wxContourMainFrame::onSegmentationOneSliceITK(wxString distance, wxString s
 
 void wxContourMainFrame::SegmentationOneSliceITK(int x, int y, int z, wxString distanc, wxString sigm, wxString alf, wxString bet, wxString prop, wxString iter, wxString inflation)
 {
-       
        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;
+       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 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;
+       //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 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;
+       //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;
+       //Tercer tipo de conversiÛn
+       typedef itk::RescaleIntensityImageFilter< 
+                                                               InternalImageType, 
+                                                               OutputImageType >   CastFilterType3;
 
-  //Cuarto tipo de conversiÛn
-  typedef itk::RescaleIntensityImageFilter< 
-                               OutputImageType, 
-                               OutputImageType >   CastFilterType4;
+       //Cuarto tipo de conversiÛn
+       typedef itk::RescaleIntensityImageFilter< 
+                                                               OutputImageType, 
+                                                               OutputImageType >   CastFilterType4;
 
-  ThresholdingFilterType::Pointer thresholder = ThresholdingFilterType::New();
-                        
-  thresholder->SetLowerThreshold( 0.0 );
-  thresholder->SetUpperThreshold( 128 );
+       ThresholdingFilterType::Pointer thresholder = ThresholdingFilterType::New();
+                               
+       thresholder->SetLowerThreshold( 0.0 );
+       thresholder->SetUpperThreshold( 128 );
 
-  thresholder->SetOutsideValue(  255  );
-  thresholder->SetInsideValue(  0 );
+       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;
-  typedef  itk::ImageFileWriter<  OutputImageType  > WriterType;
+       //DefinciÛn de conexiÛnes entre VTK e ITK y el writer
+       typedef itk::VTKImageToImageFilter<OutputImageType2> ConnectorType;
+       typedef itk::ImageToVTKImageFilter<OutputImageType> ConnectorType2;
+       typedef  itk::ImageFileWriter<  OutputImageType  > WriterType;
 
-  ConnectorType::Pointer connector= ConnectorType::New();
-  ConnectorType2::Pointer connector2= ConnectorType2::New();
-  
+       ConnectorType::Pointer connector= ConnectorType::New();
+       ConnectorType2::Pointer connector2= ConnectorType2::New();
+         
 
-  CastFilterType::Pointer filter=CastFilterType::New();
-  CastFilterType2::Pointer filter2=CastFilterType2::New();
+       CastFilterType::Pointer filter=CastFilterType::New();
+       CastFilterType2::Pointer filter2=CastFilterType2::New();
 
-  connector->SetInput( imagedata );
-  filter2->SetInput(connector->GetOutput());
+       connector->SetInput( imagedata );
+       filter2->SetInput(connector->GetOutput());
 
-  typedef   itk::CurvatureAnisotropicDiffusionImageFilter< 
-                               InternalImageType, 
-                               InternalImageType >  SmoothingFilterType;
+       typedef   itk::CurvatureAnisotropicDiffusionImageFilter< 
+                                                               InternalImageType, 
+                                                               InternalImageType >  SmoothingFilterType;
 
-  SmoothingFilterType::Pointer smoothing = SmoothingFilterType::New();
+       SmoothingFilterType::Pointer smoothing = SmoothingFilterType::New();
 
-  typedef   itk::GradientMagnitudeRecursiveGaussianImageFilter< 
-                               InternalImageType, 
-                               InternalImageType >  GradientFilterType;
+       typedef   itk::GradientMagnitudeRecursiveGaussianImageFilter< 
+                                                               InternalImageType, 
+                                                               InternalImageType >  GradientFilterType;
 
-  typedef   itk::SigmoidImageFilter<                               
-                               InternalImageType, 
-                               InternalImageType >  SigmoidFilterType;
+       typedef   itk::SigmoidImageFilter<                               
+                                                               InternalImageType, 
+                                                               InternalImageType >  SigmoidFilterType;
 
-  GradientFilterType::Pointer  gradientMagnitude = GradientFilterType::New();
+       GradientFilterType::Pointer  gradientMagnitude = GradientFilterType::New();
 
-  SigmoidFilterType::Pointer sigmoid = SigmoidFilterType::New();
+       SigmoidFilterType::Pointer sigmoid = SigmoidFilterType::New();
 
-  sigmoid->SetOutputMinimum(  0.0  );
-  sigmoid->SetOutputMaximum(  255.0  );
+       sigmoid->SetOutputMinimum(  0.0  );
+       sigmoid->SetOutputMaximum(  255.0  );
 
 
-  typedef  itk::FastMarchingImageFilter< 
-                              InternalImageType, 
-                              InternalImageType >    FastMarchingFilterType;
+       typedef  itk::FastMarchingImageFilter< 
+                                                               InternalImageType, 
+                                                               InternalImageType >    FastMarchingFilterType;
 
 
-  FastMarchingFilterType::Pointer  fastMarching = FastMarchingFilterType::New();
+       FastMarchingFilterType::Pointer  fastMarching = FastMarchingFilterType::New();
 
-  typedef  itk::GeodesicActiveContourLevelSetImageFilter< InternalImageType, 
-                InternalImageType >    GeodesicActiveContourFilterType;
-  GeodesicActiveContourFilterType::Pointer geodesicActiveContour = 
-                                     GeodesicActiveContourFilterType::New();
+       typedef  itk::GeodesicActiveContourLevelSetImageFilter< InternalImageType, 
+                                       InternalImageType >    GeodesicActiveContourFilterType;
+       GeodesicActiveContourFilterType::Pointer geodesicActiveContour = 
+                                                                               GeodesicActiveContourFilterType::New();
 
-  typedef  itk::ZeroCrossingImageFilter< 
-                              InternalImageType, 
-                              InternalImageType >    ZeroCrossingFilterType;
-ZeroCrossingFilterType::Pointer zeroCrossing =
-                                               ZeroCrossingFilterType::New();
+       typedef  itk::ZeroCrossingImageFilter< 
+                                                               InternalImageType, 
+                                                               InternalImageType >    ZeroCrossingFilterType;
+       ZeroCrossingFilterType::Pointer zeroCrossing =
+                                                       ZeroCrossingFilterType::New();
 
-const double propagationScaling = atof( crea::wx2std(prop).c_str() );
+       const double propagationScaling = atof( crea::wx2std(prop).c_str() );
 
-  geodesicActiveContour->SetPropagationScaling( propagationScaling );
-  geodesicActiveContour->SetCurvatureScaling( 1.0 );
-  geodesicActiveContour->SetAdvectionScaling( 1.0 );
+       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 );
+       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->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 );
+       smoothing->SetTimeStep( 0.125 );
+       smoothing->SetNumberOfIterations(  5 );
+       smoothing->SetConductanceParameter( 9.0 );
 
 
-  const double sigma = atof(  crea::wx2std(sigm).c_str() );
-  gradientMagnitude->SetSigma(  sigma  );
+       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;
+       sigmoid->SetAlpha( alpha );
+       sigmoid->SetBeta(  beta  );
+         
+       typedef FastMarchingFilterType::NodeContainer  NodeContainer;
+       typedef FastMarchingFilterType::NodeType       NodeType;
 
-  NodeContainer::Pointer seeds = NodeContainer::New();
+       NodeContainer::Pointer seeds = NodeContainer::New();
 
-  InternalImageType::IndexType  seedPosition;
-  seedPosition[0] = x;
-  seedPosition[1] = y;
+       InternalImageType::IndexType  seedPosition;
+       seedPosition[0] = x;
+       seedPosition[1] = y;
 
-  const double initialDistance = atof( crea::wx2std(distanc).c_str() );
+       const double initialDistance = atof( crea::wx2std(distanc).c_str() );
 
-  NodeType node;
+       NodeType node;
 
-  const double seedValue = - initialDistance;
+       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->SetStoppingValue( 800 );
-  try
+       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->SetStoppingValue( 800 );
+       try
     {
                
        connector2->Update();
@@ -1146,22 +1145,22 @@ const double propagationScaling = atof( crea::wx2std(prop).c_str() );
        polyDataResult->Update( );
        polyDataResult->UpdateInformation();
 
-//EED
-       /*
-ofstream myfile;
-myfile.open ("C:/Creatis/example.txt");
-myfile << "\n";
-polyDataResult->Print(myfile);
-myfile << "-------------------------------------\n";
-polyDataResult->GetLines()->Print(myfile);
-myfile.close();*/
+       //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
+       //--Calculating control points
 
        std::vector<double> vecX;
        std::vector<double> vecY;
@@ -1180,8 +1179,8 @@ myfile.close();*/
        double xAct=0;
        double yAct=0;
        int ii,size=polyDataResult->GetNumberOfPoints();
-ofstream myfile;
-myfile.open ("C:/Creatis/example2.txt");
+       ofstream myfile;
+       myfile.open ("C:/Creatis/example2.txt");
 
        size=polyDataResult->GetNumberOfPoints();
        for (ii=0;ii<size;ii++)
@@ -1270,7 +1269,7 @@ myfile.open ("C:/Creatis/example2.txt");
 
        extractcontrolpoints2d->SetContour( &vecX , &vecY , &vecZ );
        
-int method=2;
+       int method=2;
        if (method==0){
                extractcontrolpoints2d->GetInitialControlPoints( &vecCtrlPointX , &vecCtrlPointY , &vecCtrlPointZ );
        }