1 /*=========================================================================
4 Module: $RCSfile: wxSegmentationFM3DWidget.h,v $
6 Date: $Date: 2008/10/31 16:32:43 $
7 Version: $Revision: 1.1 $
9 Copyright: (c) 2002, 2003
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notice for more information.
16 =========================================================================*/
18 #ifndef __WX__SEGMENTATION__FM3D__HXX__
19 #define __WX__SEGMENTATION__FM3D__HXX__
24 #include <vtkObjectBase.h>
25 #include <vtkCommand.h>
27 #include <vtkPoints.h>
28 #include <vtkPolyData.h>
29 #include <vtkPolyDataMapper.h>
30 #include <vtkProbeFilter.h>
31 #include <vtkPlaneSource.h>
32 #include <vtkImageChangeInformation.h>
33 #include <vtkStructuredPoints.h>
34 #include <vtkTransform.h>
35 #include <vtkImageViewer2.h>
36 #include <vtkBoxWidget.h>
40 #include "kernel/marInterface.h"
42 #include "wxMPRBaseData.h"
43 #include "wxVtkBaseView.h"
47 #include <wx/notebook.h>
49 #include "vtkImageGaussianSmooth.h"
50 #include "vtkSmoothPolyDataFilter.h"
52 #include "wxMPRWidget.h"
53 #include "../manualContour.h"
58 //------------------------------------------------------------------
59 //------------------------------------------------------------------
60 //------------------------------------------------------------------
63 class wxSegmentationFM3DWidget : public wxPanel
66 wxSegmentationFM3DWidget(wxWindow* parent,marImageData *marimageData,double voxelSize);
67 ~wxSegmentationFM3DWidget( );
72 void OnRefreshView(wxCommandEvent & event);
75 vtkMPRBaseData *GetVtkMPRBaseData();
76 vtkPlane2DView *GetVtkPlane2DView();
82 marImageData *_marimageData;
83 wxMPRWidget2 *_MPRWidget2;
86 wxVtk3DBaseView *_wxvtk3Dbaseview_Clipping3D_C;
87 wxVtkMPR3DView *_wxvtkmpr3Dview_C;
88 wxVtkClipping3DView *_wxvtkclipping3Dview_C;
90 wxPanel *Create3DViewContour( wxWindow *parent, vtkMPRBaseData *vtkmprbasedata);
91 void ConfigureContour();
93 //DCH: CONTROLES INTERFAZ GRAFICA
99 wxSlider* slVolumeOpacity;
100 wxSlider* slSigmaLevel;
101 wxSlider* slLaplacianConvergence;
102 wxSlider* slLaplacianIterations;
105 void OnChangeAlpha(wxScrollEvent& event);
106 void OnChangeBeta(wxScrollEvent& event);
107 void OnBtnSegment(wxCommandEvent& event);
108 void OnBtnUndo(wxCommandEvent& event);
109 void OnChangeOpacity(wxScrollEvent& event);
110 void OnChangeSigmaLevel(wxScrollEvent& event);
111 void OnChangeLaplacianConvergence(wxScrollEvent& event);
112 void OnChangeLaplacianIteration(wxScrollEvent& event);
116 itkFM3D* filtroSegmentacion;
121 float convergenceValue;
124 // DHC: RENDERIZACION VTK
125 vtkImageGaussianSmooth* f_gauss;
126 vtkMarchingCubes* f_cubes;
127 vtkSmoothPolyDataFilter* f_laplace;
128 vtkPolyDataMapper* f_mapper;
133 DECLARE_EVENT_TABLE( );
142 #endif // __WX__SEGMENTATION__FM3D__HXX__
144 // EOF - wxSegmentationFM3DWidget.h