1 #ifndef __ContourCrownWidget_h_INCLUDED_H__
2 #define __ContourCrownWidget_h_INCLUDED_H__
5 #include "manualContourControler.h"
6 #include "manualContourModel.h"
7 #include "manualViewContour.h"
8 #include "manualRoiControler.h"
9 #include "manualViewRoi.h"
10 #include "mBarRange.h"
12 //JSTG_14-06-08--------------------
13 #include "ContourPropagation.h"
14 //---------------------------------
18 //--------------------------------------------------------------------------
19 class creaMaracasVisu_EXPORT wxMaracasCoutourTool : public wxPanel
22 wxMaracasCoutourTool( wxWindow *parent, wxVtkBaseView *wxvtkbaseview, vtkImageData* imagedata);
23 ~wxMaracasCoutourTool();
24 void OnContourA(wxCommandEvent &event);
25 void OnContourB(wxCommandEvent &event);
26 void OnContourAB(wxCommandEvent &event);
29 void GetValuesInsideCrown( std::vector<double> *pLstValue,
30 std::vector<double> *pLstValuePosX,
31 std::vector<double> *pLstValuePosY,
32 std::vector<double> *pLstValuePosZ);
34 wxVtkBaseView *GetWxVtkBaseView();
35 //EED void ProcessOutputs();
36 vtkImageData *GetVtkImageValueResult();
37 vtkImageData *GetVtkImageMaskResult();
39 //JSTG 26-02-08 --------------------------------------------------------------------------------------------
40 void GetSplinePoints ( std::vector<double> *pLstContourX,
41 std::vector<double> *pLstContourY,
42 std::vector<double> *pLstContourZ );
44 void SetControlPoints ( std::vector<double> *InVectorX,
45 std::vector<double> *InVectorY,
46 std::vector<double> *InVectorZ );
47 //JSTG 21-03-08 ----------------------------------------------
48 void OnSaveContour ( wxCommandEvent &event );
49 void OnSaveControlPoints( wxCommandEvent &event );
50 //JSTG 11-04-08 ----------------------------------------------
51 void EreaseLastContour ( wxCommandEvent& event );
52 void EreaseLastCP ( wxCommandEvent& event );
53 //----------------------------------------------------------------------------------------------------------
57 //EED ContourCrown *mbbtkContourCrown;
58 vtkImageData *imagedata;
59 vtkImageData *imagedataValueResult;
60 vtkImageData *imagedataMaskResult;
61 wxVtkBaseView *wxvtkbaseview;
63 //JSTG 26-02-08 ------------------------------------------
64 std::vector<double> _tempCX;
65 std::vector<double> _tempCY;
66 std::vector<int> _tempCZ;
67 std::vector<int> _SizesC;
68 std::vector<double> _tempCPX;
69 std::vector<double> _tempCPY;
70 std::vector<int> _tempCPZ;
71 std::vector<int> _SizesCP;
72 std::vector<double> *pControlVectorX;
73 std::vector<double> *pControlVectorY;
74 std::vector<double> *pControlVectorZ;
77 //--------------------------------------------------------
78 //JSTG_14-06-08-------------------------------------------
79 ContourPropagation *_contprop;
80 //--------------------------------------------------------
82 manualContourControler *_manContourControl_1;
83 manualContourModel *_mContourModel_1;
84 manualViewContour *_mViewContour_1;
86 manualContourControler *_manContourControl_2;
87 manualContourModel *_mContourModel_2;
88 manualViewContour *_mViewContour_2;
90 manualRoiControler *_manRoiControl;
91 manualContourModel *_mContourModel;
92 manualViewRoi *_mViewRoi;
95 bool isInside(int x, int y);
96 void GetMinMaxPoint(int *minPoint, int *maxPoint);
97 void GetMinMaxPoint(int *minPoint,
99 manualViewBaseContour *manualviewbaseecontour,
100 manualContourModel *manualcontourmodel );
101 int AnalisisContourInside( int x,
103 manualViewBaseContour *manualviewbaseecontour,
104 manualContourModel *manualcontourmodel );
105 double GetDataValue(int x, int y);
106 void ResetImageResult();
107 void PutVtkImageDataResultValue( int x, int y, double value );
108 void InitVtkImagesResult();
114 #endif // __ContourCrownWidget_h_INCLUDED_H__