#ifndef __WX__PROCESSING__CT__WIDGET__ #define __WX__PROCESSING__CT__WIDGET__ #include #include #include #include #include #include #include "wxMPRWidget.h" #include "wxVTKRenderWindowInteractor.h" #include #include #include #include #include //------------------------------------------------------------------ //------------------------------------------------------------------ //------------------------------------------------------------------ class wxProcessingCTWidget: public wxPanel{ public: wxProcessingCTWidget(wxWindow *parent, marInterfaceCT *mar); ~wxProcessingCTWidget(); void ConfigureVTK(marImageData *marimagedata, int x, int y, int z); void Refresh(); void OnLowThreshold(wxScrollEvent& event); // Umbral inferior void OnMidThreshold(wxScrollEvent& event); // Umbral medio void LowThreshold(); void MidThreshold(); // MAZV 27 sep 2006 // void OnHighThreshold(wxScrollEvent& event); // Umbral alto void OnZSlice(wxScrollEvent& event); // Z Slice void OnExtract(wxCommandEvent& event); void OnRefreshView(wxCommandEvent & event); void SetThreshold(int min ,int max); void GetThreshold(int *min ,int *max); void OnSpinLowThresholdSpin1(wxScrollEvent& event); void OnSpinLowThresholdSpin2(wxScrollEvent& event); private: wxWindow *_parent; // Original Volume vtkMarchingCubes *_mCubes; vtkPolyDataMapper *_surfMapper; vtkActor *_surfActor; marInterfaceCT *_mar; // New vtk - thresholding vtkImageThreshold *_thresh; //Lower - Upper vtkImageThreshold *_thresh2; //Lower - Medium vtkImageSeedConnectivity *_connect; vtkImageSeedConnectivity *_connect2; vtkImageCast *cast3; vtkImageCast *cast4; vtkImageData *data; wxSlider *_lowthreshold; wxSlider *_midthreshold; wxSlider *_lowthresholdSpin1; wxSlider *_lowthresholdSpin2; // MAZV 27 sep 2006 //wxSlider *_highthreshold; wxSlider *_zslice; wxVtk2DBaseView *_imageviewer2D_1; wxVtk2DBaseView *_imageviewer2D_2; wxVtk2DBaseView *_imageviewer2D_3; wxButton *_extract; vtkBaseData *_vtkbasedata_1; vtkBaseData *_vtkbasedata_2; vtkBaseData *_vtkbasedata_3; wxPanel *CreateControlPanel(wxWindow *parent); wxPanel *CreateViewPanel(wxWindow *parent); int _x, _y, _z; double _range[2]; DECLARE_EVENT_TABLE( ); }; #endif // __WX__PROCESSING__CT__WIDGET__