X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2Finclude%2FCopie%20de%20wxSTLWidget_03.h;fp=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2Finclude%2FCopie%20de%20wxSTLWidget_03.h;h=f120b4fdc6417777e4a39f08a822c0e420e1a676;hb=a4ee3758aa0477f677fb981e2c4d6e29995e8db8;hp=0000000000000000000000000000000000000000;hpb=cc20770ee090848c31a8f18c277d89f2b904e087;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/include/Copie de wxSTLWidget_03.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/include/Copie de wxSTLWidget_03.h new file mode 100644 index 0000000..f120b4f --- /dev/null +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/include/Copie de wxSTLWidget_03.h @@ -0,0 +1,197 @@ + +#ifndef WX_STL_WIDGET_03 +#define WX_STL_WIDGET_03 + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "wxVTKRenderWindowInteractor.h" +#include "wxSurfaceWidget.h" +#include "wxVtkBaseView.h" + + +#include "../wxMaracasMPR.h" +#include "pPlotter/mBarRange.h"//SIL// + +#include +#include + + +#include "kernel/vtkSTLExtractor.h" +#include "kernel/vtkJoiner.h" + + + + +//------------------------------------------------------------------ +//------------------------------------------------------------------ +//------------------------------------------------------------------ + +class wxSTLWidget_03: public wxPanel{ +public: + wxSTLWidget_03(wxWindow *parentmar,marInterface *mar); + ~wxSTLWidget_03(); + void ConfigureVTK(); + void Refresh(); + + void OnOpacity_Vol(wxScrollEvent& event); // Result Volume + void OnMinSpin ( wxScrollEvent & event ); + void OnMaxSpin ( wxScrollEvent & event ); + + //SIL new// + void OnRangeSpin( wxScrollEvent & event ); + + //Handled events form the bar + void OnStartChanged_range(wxCommandEvent& event); + void OnEndChanged_range(wxCommandEvent& event); + void OnBarMoved_range(wxCommandEvent& event); + + + void OnBtnExtraction(wxCommandEvent& event); + void OnBtnSaveBinaryFile(wxCommandEvent& event); + + // + void Reset_vtk_STLFile(); + void OnBtnSTLFileLoad(wxCommandEvent& event); + void OnBtnSTLFileErase(wxCommandEvent& event); + void OnOpacitySTLFile(wxScrollEvent& event); + + + // -------------------------------------- + // STL FUNCTIONS DHC + // -------------------------------------- + void generateSTLSurfaces(); + void OnBtnCreateFileSTL(wxCommandEvent& event); + void OnChangeSTLGaussLevel(wxScrollEvent& event); + void OnChangeSTLMarchingCubesLevel(wxScrollEvent& event); + void OnOpacitySTLExternal(wxScrollEvent& event); + void OnOpacitySTLInternal(wxScrollEvent& event); + + + //--------------------------------------- + // JOIN REGIONS FUNCTIONS + //--------------------------------------- + void OnJoinRegions(wxCommandEvent& event); + +private: + + //Processing + vtkImageData *_imagedata; + double _range[2]; + vtkImageCast *cast2; + vtkImageCast *cast3; + vtkImageCast *cast4; // binary segmentation result + vtkImageThreshold *_thresh; + vtkImageThreshold *_thresh2; + vtkImageSeedConnectivity *_connect; + vtkImageSeedConnectivity *_connect2; + + + + vtkPolyDataMapper *_2_mapfinal; + vtkActor *_2_stripfinal; + vtkPolyDataMapper *_2_isoMapperMC6; + vtkActor *_2_isoActorMC6; + vtkMarchingCubes *_2_isoMC6; + double _sensibility_JF; + int _maxSize; + int _minSize; + + // Load STL file + vtkPolyDataMapper *_loadSTLMapper; + vtkActor *_loadActorSTL; + + + wxSlider *_opacity_Vol; + wxSlider *_sl_minSize; + wxSlider *_sl_maxSize; + wxSlider *_sl_minSizeSpin; + wxSlider *_sl_maxSizeSpin; + wxSlider *_sl_RangeSizeSpin; + + + /* + * Represents the bar of min and max for merging the functionality of two sliders for controlling the segmentation parameters + */ + mBarRange * sl_barrange_segmentation; + int lastResizeRef_Value; + int minRangeValue; + int maxRangeValue; + + wxVtk3DBaseView *_imageviewer3D; + wxPanel *CreateControlPanel(wxWindow *parent); + wxPanel *CreateViewPanel(wxWindow *parent); + + //Maracas + marInterface *_mar; + wxMaracasMPR *_wxMaracasMPR; + + void ResetTree2_JF(); + void ExtractSurface(int x, int y, int z); + + wxWindow* CreateSelectAPointPanel(wxWindow *parent); + wxWindow* CreateSegmentationPanel(wxWindow *parent); + wxWindow* CreateSmoothingPanel(wxWindow *parent); + wxWindow* CreateReadSTLFilePanel(wxWindow *parent); + + //--------------------- + // Processing + //--------------------- + void ConfigureProcessing(marImageData *marimagedata, int x, int y, int z); + + + //--------------------- + // STL SURFACES DHC + //--------------------- + void ConfigureSTL(); + double _stlDeltaGaussLevel; + double _stlMarchingCubesLevel; + + + vtkPolyData *stlInterna; + vtkPolyData *stlExterna; + + wxSlider *stlSliderDeltaGauss; + wxSlider *stlSliderMarchingCubes; + + vtkPolyDataMapper *dsm1; + vtkActor *actorInternal; + wxSlider *stlSliderOpacityInternal; + + vtkPolyDataMapper *dsm2; + vtkActor *actorExternal; + wxSlider *stlSliderOpacityExternal; + + vtkSTLExtractor *stlExtractor; + + wxSlider *_sl_opacity_STL_file; + + + + //-------------------------- + // JOIN REGIONS + //-------------------------- + + vtkImageData *arteryImageData; + vtkJoiner *joiner; + vtkMarchingCubes *joinMarchingCubes; + vtkPolyDataMapper *joinMapper; + vtkActor *joinActor; + +}; + +#endif // WX_STL_WIDGET_03 + + + +