wxQuantificationWidget_base.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __WX__MARACAS__QUANTIF__WDG__BASE__HXX__
00019 #define __WX__MARACAS__QUANTIF__WDG__BASE__HXX__
00020
00021
00022 #include "vtk3DQuantSurfaceWidget.h"
00023 #include "vtk2DQuantSliceWidget.h"
00024 #include "wxImageViewerWidget.h"
00025
00026 #include "wxChart.h"
00027
00028 #include <wx/wx.h>
00029 #include <wx/slider.h>
00030 #include <wx/panel.h>
00031 #include <wx/minifram.h>
00032 #include <wx/splitter.h>
00033 #include <kernel/marInterface.h>
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 class wxQuantificationWidget_base : public wxPanel, public InterfaceVtkPanelWidgets
00047 {
00048 public:
00049
00050
00051 wxQuantificationWidget_base(wxWindow* parent, wxWindowID id,
00052 const wxPoint& pos, const wxSize& size, long style,
00053 const wxString& name);
00054
00055 virtual ~wxQuantificationWidget_base();
00056
00057 virtual void SetManualContour_ReplaceContour();
00058 virtual void SetManualContour_2DWorld(bool ok);
00059 virtual void SetManualContour_AddPoint_2DWorld();
00060 virtual void SetAnalysisTypeStenosis(int analysisTypeStenosis);
00061 virtual int GetActualSlice();
00062 virtual void SetHealthySlice(int healthySlice=-1);
00063 virtual void GetSliceLimites(int type, int &sliceStart,int &sliceEnd);
00064 virtual void Set3DStartRegionSliceActor( int type, int k );
00065 virtual void RefreshAxis( );
00066 virtual kVolume *GetVolumeAxisExtended(int wz1,int wz2);
00067 virtual int GetMaxActualSlice();
00068 virtual void Set3DRegionSliceActor( int type, int k1,int k2 );
00069 virtual void DetectHealthySickSlice( bool minSurf , bool maxSurf );
00070 virtual void Show3DStartRegionSliceActor(int type );
00071 virtual void Set3DEndRegionSliceActor( int type, int k );
00072 virtual void Show3DEndRegionSliceActor(int type );
00073 virtual void Hide3DStartRegionSliceActor(int type );
00074 virtual void Hide3DEndRegionSliceActor(int type );
00075 virtual int GetSizeHealthyRegion();
00076 virtual void SetSizeHealthyRegion(int size);
00077 virtual int GetHealthySlice();
00078 virtual void OnContourWall();
00079 virtual void OnContourLumen();
00080 virtual void OnContourHypo();
00081 virtual void OnContourCalc();
00082 virtual void OnReplaceContourWall();
00083 virtual void OnReplaceContourLumen();
00084 virtual void OnReplaceContourHypo();
00085 virtual void OnReplaceContourCalc();
00086 virtual void OnSliderDiscontinuityScroll(int percentage);
00087 virtual void OnSliderLumenPercentageScroll(int percentage);
00088 virtual void OnSliderCalcPercentageScroll(int percentage);
00089 virtual void OnCalibration();
00090 virtual void OnFile();
00091 virtual void OnShowAll(bool value);
00092 virtual void OnShowWall(bool value);
00093 virtual void OnShowLumen(bool value);
00094 virtual void OnShowCalc(bool value);
00095 virtual void OnShowHypo(bool value);
00096
00097
00098 private:
00099
00100
00101
00102 };
00103
00104
00105
00106 class wxPnlSearchStenosisAutomatic: public wxPanel{
00107 public:
00108 wxPnlSearchStenosisAutomatic(wxWindow* parent, wxQuantificationWidget_base *quantificationWidget_base);
00109 void OnBtHealthySlice(wxCommandEvent& event);
00110 void OnBtEndRegion(wxCommandEvent& event);
00111 void OnBtStart(wxCommandEvent& event);
00112 void OnBtPlus(wxCommandEvent& event);
00113 void OnBeginSlider(wxScrollEvent& event);
00114 void OnEndSlider(wxScrollEvent& event);
00115 void OnBtMaxSurf(wxCommandEvent& event);
00116 void OnRbArea(wxCommandEvent& event);
00117 void OnRbDiameter(wxCommandEvent& event);
00118 void OnBtAxisMPR(wxCommandEvent& event);
00119
00120 void SetRange(int min, int max);
00121
00122 private:
00123 wxQuantificationWidget_base *_quantificationWidget_base;
00124
00125
00126 wxStaticText *_st1_text1;
00127 wxStaticText *_st1_next1;
00128 wxStaticText *_st1_next2;
00129 wxStaticText *_st1_next3;
00130 wxStaticText *_st1_cero;
00131 wxStaticText *_st1_one;
00132 wxStaticText *_st1_two;
00133 wxStaticText *_st1_three;
00134 wxButton *_bt1_HealthySlice;
00135 wxButton *_bt1_EndRegion;
00136 wxButton *_bt1_Start;
00137
00138
00139 wxButton *_bt_plus;
00140 wxPanel *_panelSpecial;
00141 wxStaticText *_st_BeginRegion;
00142 wxStaticText *_st_EndRegion;
00143 wxSlider *_sl_BeginRegion;
00144 wxSlider *_sl_EndRegion;
00145 wxRadioButton *_rb_diameter;
00146 wxRadioButton *_rb_surface;
00147 wxButton *_bt_MaxSurface;
00148
00149 };
00150
00151
00152 class wxPnlSearchStenosisManual : public wxPanel{
00153 public:
00154 wxPnlSearchStenosisManual(wxWindow* parent, wxQuantificationWidget_base *quantificationWidget_base);
00155 void OnBtHealthySlice(wxCommandEvent& event);
00156
00157 private:
00158 wxQuantificationWidget_base *_quantificationWidget_base;
00159
00160 wxStaticText *_st2_text1;
00161 wxStaticText *_st2_text2;
00162 wxStaticText *_st2_next1;
00163 wxStaticText *_st2_next2;
00164 wxStaticText *_st2_cero;
00165 wxStaticText *_st2_one;
00166 wxStaticText *_st2_two;
00167 wxButton *_bt2_HealthySlice;
00168 };
00169
00170
00171 class wxPnlSearchStenosis : public wxPanel{
00172 public:
00173 wxPnlSearchStenosis(wxWindow* parent,wxQuantificationWidget_base *quantificationWidget_base);
00174 void OnRbAutomatic(wxCommandEvent& event);
00175 void OnRbManual(wxCommandEvent& event);
00176 wxPnlSearchStenosisAutomatic* GetPanelAutomatic();
00177
00178 private:
00179 wxQuantificationWidget_base *_quantificationWidget_base;
00180
00181 wxPnlSearchStenosisAutomatic *_panelAutomatic;
00182
00183 wxPanel *_panelManual;
00184 };
00185
00186
00187
00188 class wxPanelSizeHealthyRegion : public wxPanel {
00189 public :
00190 wxPanelSizeHealthyRegion(wxWindow* parent, wxQuantificationWidget_base *quantificationWidget_base);
00191 private:
00192 wxQuantificationWidget_base *_quantificationWidget_base;
00193 wxSlider *_sl_Size;
00194
00195 void OnButtonRefresh(wxScrollEvent& event);
00196 };
00197
00198
00199 class wxPnlModifyContour : public wxPanel{
00200 public:
00201 wxPnlModifyContour(wxWindow* parent,wxQuantificationWidget_base *quantificationWidget_base);
00202 void OnNewContour(wxCommandEvent& event);
00203 void OnFixContour(wxCommandEvent& event);
00204
00205
00206 private:
00207 wxQuantificationWidget_base *_quantificationWidget_base;
00208 wxButton *_newContour;
00209 wxButton *_editContour;
00210 wxButton *_fixContour;
00211 wxButton *_cancelContour;
00212 wxRadioButton *_insert;
00213 wxRadioButton *_erase;
00214 wxRadioButton *_move;
00215
00216 wxStaticText *_one;
00217 wxStaticText *_two;
00218 wxStaticText *_three;
00219 wxStaticText *_msg;
00220
00221 };
00222
00223
00224
00225
00226
00227 class wxPanelControlsHealthySickSlice2 : public wxPanel{
00228 public:
00229 wxPanelControlsHealthySickSlice2(wxWindow* parent , wxQuantificationWidget_base *quantificationWidget_base);
00230 wxPnlSearchStenosis *GetPnlSearStenosis();
00231 private:
00232 wxPnlSearchStenosis *wxpnlsearchstenosis;
00233 };
00234
00235
00236
00237
00238 class wxPnlContourControl : public wxPanel{
00239 public:
00240
00241
00242 wxPnlContourControl(wxWindow* parent,wxQuantificationWidget_base *quantificationWidget_base);
00243 void OnSliderDiscontinuityScroll(wxScrollEvent& event);
00244 void OnSliderLumenPercentageScroll(wxScrollEvent& event);
00245 void OnSliderCalcPercentageScroll(wxScrollEvent& event);
00246 void OnCalibration(wxScrollEvent& event);
00247 void OnFile(wxScrollEvent& event);
00248
00249 private:
00250 wxQuantificationWidget_base *_quantificationWidget_base;
00251 wxSlider *_sl_Discontinuity;
00252 wxSlider *_sl_LumenPercentage;
00253 wxSlider *_sl_CalcPercentage;
00254 wxButton *btnCalibration;
00255 wxButton *btnFile;
00256
00257 wxStaticText *_st_Discontinuity;
00258 wxStaticText *_st_LumenPercentage;
00259 wxStaticText *_st_CalcPercentage;
00260 };
00261
00262
00263
00264
00265 class wxPanelControlsHealthySickSliceCT : public wxPanel{
00266 public:
00267 wxPanelControlsHealthySickSliceCT(wxWindow* parent , wxQuantificationWidget_base *quantificationWidget_base);
00268 private:
00269 };
00270
00271
00272
00273
00274
00275 class wxPnlManualContour : public wxPanel{
00276 public:
00277 wxPnlManualContour(wxWindow* parent,wxQuantificationWidget_base *quantificationWidget_base);
00278 void OnContourWall(wxCommandEvent& event);
00279 void OnContourLumen(wxCommandEvent& event);
00280 void OnContourHypo(wxCommandEvent& event);
00281 void OnContourCalc(wxCommandEvent& event);
00282 void OnReplaceContourWall(wxCommandEvent& event);
00283 void OnReplaceContourLumen(wxCommandEvent& event);
00284 void OnReplaceContourHypo(wxCommandEvent& event);
00285 void OnReplaceContourCalc(wxCommandEvent& event);
00286 void OnShowAll(wxCommandEvent& event);
00287 void OnShowWall(wxCommandEvent& event);
00288 void OnShowLumen(wxCommandEvent& event);
00289 void OnShowCalc(wxCommandEvent& event);
00290 void OnShowHypo(wxCommandEvent& event);
00291
00292 private:
00293 wxQuantificationWidget_base *_quantificationWidget_base;
00294 wxButton *btnContourWall;
00295 wxButton *btnContourLumen;
00296 wxButton *btnContourCalc;
00297 wxButton *btnContourHypo;
00298 wxButton *btnContourAB;
00299 wxButton *fixContourWall;
00300 wxButton *fixContourLumen;
00301 wxButton *fixContourCalc;
00302 wxButton *fixContourHypo;
00303 wxCheckBox *cbShowAllManual;
00304 wxCheckBox *cbShowWall;
00305 wxCheckBox *cbShowLumen;
00306 wxCheckBox *cbShowCalc;
00307 wxCheckBox *cbShowHypo;
00308
00309 };
00310
00311 #endif // __WX__MARACAS__QUANTIF__WDG__BASE__HXX__
00312