wxEmptyPanelWidget_2.h

Go to the documentation of this file.
00001 
00002 #ifndef EMPTY_PANEL_WIDGET_2_H
00003 #define EMPTY_PANEL_WIDGET_2_H
00004 
00005 #include <vector>
00006 
00007 #include <vtkImageData.h>
00008 #include <vtkActor.h>
00009 #include <vtkMarchingCubes.h>
00010 #include <vtkPolyDataMapper.h>
00011 
00012 #include "wxVTKRenderWindowInteractor.h"
00013 #include "wxSurfaceWidget.h"
00014 #include "wxVtkBaseView.h"
00015 #include <kernel/marInterface.h>
00016 #include <kernel/axisExtractor.h>
00017 #include <kernel/axisExtractor02.h>
00018 #include <kernel/carotidaBifurcacion.h>
00019 
00020 //------------------------------------------------------------------
00021 //------------------------------------------------------------------
00022 //------------------------------------------------------------------
00023 
00024 class  TreeExtraction_MH_JFC : public vtkObject
00025 {
00026 public:
00027         static TreeExtraction_MH_JFC *New();
00028         virtual void SetInput(marExperiment *input);
00029         void SetBranchLevel(int branchLevel);
00030         marExperiment *GetInput();
00031         vtkImageData  *GetVolume();
00032         void Update();
00033         void SetCleanTreeLevel( int cleanLevel );
00034   
00035 protected:  
00036         TreeExtraction_MH_JFC();        
00037         ~TreeExtraction_MH_JFC();
00038         void Execute( int count , int sens=1 , double *vit=NULL , int cleanLevel=0);
00039 
00040 private:
00041         double                                  _cleanLevel;
00042         int                                             _branchLevel;
00043         carotidaBifurcacion             *_prgov;
00044         vtkImageData                    *_imagedataResult;
00045         marExperiment                   *_marExperiment;
00046         void Reset();
00047         void InitImagaDataResult();
00048         void BruleVolume( vtkImageData *imagedata, int x,int y,int z,int r,int value );
00049         void BruleVolume( vtkImageData *imagedata, vtkPolyData *inputAxisRadio,int value );
00050         void FindVit( marExperiment *newExperiment , int actualAxis , double *pointBif , double *vit );
00051 };
00052 
00053 //------------------------------------------------------------------
00054 //------------------------------------------------------------------
00055 //------------------------------------------------------------------
00056 
00057 class wxEmptyPanelWidget_2: public wxPanel{
00058 public:
00059         wxEmptyPanelWidget_2(wxWindow *parentmar,marInterface *mar);
00060         ~wxEmptyPanelWidget_2();
00061         void ConfigureVTK();
00062         void Refresh();
00063         void OnOpacity_OrigVol(wxScrollEvent& event);           // Original Volume
00064         void OnOpacity_Res1VolJF(wxScrollEvent& event);         // Result 1 Volume JF
00065         void OnOpacity_Res2VolJF(wxScrollEvent& event);         // Result 2 Volume JF
00066         void OnIsoValue(wxScrollEvent& event);
00067         void OnBtnExtractTree1_JF(wxCommandEvent& event);
00068         void OnBtnExtractTree2_JF(wxCommandEvent& event);
00069         void OnBtnEraseTree1_JF(wxCommandEvent& event);
00070         void OnBtnEraseTree2_JF(wxCommandEvent& event);
00071         void OnBtnExtractTree_MH_JFC(wxCommandEvent& event);
00072         void OnBtnEraseTree_MH_JFC(wxCommandEvent& event);
00073         void OnOpacity_ResVolMHJF(wxScrollEvent& event);        // Result Volume MH+JFC
00074         void OnBranchLevel(wxScrollEvent& event);                       // MH+JFC
00075         void OnIsoValue_MH_JFC(wxScrollEvent& event);
00076         void OnCleanTree_MH_JFC(wxScrollEvent& event);
00077         void OnSensibility(wxScrollEvent& event);
00078 
00079 private:
00080 
00081         TreeExtraction_MH_JFC *_treeExtraction;
00082 
00083         // Original Volume
00084         vtkMarchingCubes        *_mCubes;
00085         vtkPolyDataMapper       *_surfMapper;
00086         vtkActor                        *_surfActor;
00087 
00088         // Result 1 volume + Axis   
00089         axisExtractor           *_1_prgov;
00090         vtkPolyDataMapper       *_1_mapfinal;
00091         vtkActor                        *_1_stripfinal;
00092         vtkPolyDataMapper       *_1_isoMapperMC6;
00093         vtkActor                        *_1_isoActorMC6;
00094         vtkMarchingCubes        *_1_isoMC6;
00095 
00096         // Result 2 volume + Axis   
00097         axisExtractor02         *_2_prgov;
00098         vtkPolyDataMapper       *_2_mapfinal;
00099         vtkActor                        *_2_stripfinal;
00100         vtkPolyDataMapper       *_2_isoMapperMC6;
00101         vtkActor                        *_2_isoActorMC6;
00102         vtkMarchingCubes        *_2_isoMC6;
00103         double                          _sensibility_JF;
00104 
00105 
00106         //      Result tree MH_JFC
00107         vtkPolyDataMapper       *_isoMapperMC1;
00108         vtkActor                        *_isoActorMC1;
00109         vtkMarchingCubes        *_isoMC1;
00110         vtkImageThreshold       *_imageThresholdMC1;
00111 
00112         std::vector< vtkActor* >                        _lstBranchActor;
00113         std::vector< vtkPolyData* >                     _lstAxisVtk;
00114         std::vector< vtkPolyDataMapper* >       _lstBranchMapper;
00115 
00116         wxSlider                        *_opacity_OrigVol;
00117         wxSlider                        *_opacity_Res1VolJF;
00118         wxSlider                        *_opacity_Res2VolJF;
00119         wxSlider                        *_sl_sensibility_JF;
00120         wxSlider                        *_isoValue;
00121         wxSlider                        *_branchLevel;
00122         wxSlider                        *_opacity_ResVolMHJF;
00123         wxSlider                        *_isoValue_MH_JFC;
00124         wxSlider                        *_cleanTree_MH_JFC;
00125         
00126         wxVtk3DBaseView         *_imageviewer3D;
00127         wxPanel                         *CreateControlPanel(wxWindow *parent);
00128         wxPanel                         *CreateViewPanel(wxWindow *parent);
00129 
00130         //Maracas
00131         marInterface            *_mar;
00132         wxSurfaceWidget         *_maracasSurfaceWidget;
00133 
00134         void ResetTree1_JF();
00135         void ResetTree2_JF();
00136         void ExtractTree1_JF(int x, int y, int z);
00137         void ExtractTree2_JF(int x, int y, int z);
00138 
00139         void ResetTree_MH_JFC();
00140         void PaintVascularTree_MH_JFC(marExperiment * newExperiment);
00141         void PaintVascularVolume_MH_JFC(vtkImageData * image);
00142         void WriteSignals(marExperiment *newExperiment);
00143 };
00144 
00145 #endif // EMPTY_PANEL_WIDGET_2_H
00146 
00147 
00148 
00149 

Generated on 20 Oct 2010 for creaMaracasVisu_lib by  doxygen 1.6.1