]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / Contour / ContourExtractData.h
1
2 #ifndef __ContourExtractData_h_INCLUDED_H__
3 #define __ContourExtractData_h_INCLUDED_H__
4
5
6 #include "manualContourModel.h"
7 #include "marTypes.h"
8
9
10   //--------------------------------------------------------------------------
11   class creaMaracasVisu_EXPORT ContourExtractData 
12   {
13   public:
14         ContourExtractData(bool imagesResults=false);
15     ~ContourExtractData();
16
17 //----------------------------------------------------------------------
18         void SetImage( vtkImageData* imagedata);
19         void SetZtoBeAnalys( int z );
20
21         void SetLstManualContourModel( std::vector<manualContourModel*> lstManConMod);
22         void GetValuesInsideCrown(      std::vector<double> *pLstValue,
23                                                                 std::vector<double> *pLstValuePosX,
24                                                                 std::vector<double> *pLstValuePosY,
25                                                                 std::vector<double> *pLstValuePosZ);
26
27         void CalculateImageResult();
28         vtkImageData *GetVtkImageValueResult();
29         vtkImageData *GetVtkImageMaskResult();
30         void Statistics( std::vector<double> *inputLstValue, 
31                                         int     grayRangeMin,
32                                         int     grayRangeMax,
33                                         int             *rCountRange, 
34                                         int             *rsize, 
35                                         double  *rmin, 
36                                         double  *rmax,
37                                         double  *raverage,
38                                         double  *rstandardeviation);
39         void SetTypeOperation(int type);
40
41   private:
42         bool                                                            okImagesResults;
43         std::vector<manualContourModel*>        lstManConMod;
44         int                                                                     _typeOperation;
45
46         int                                                                     zImage;
47         vtkImageData                                            *imagedata;
48         vtkImageData                                            *imagedataValueResult;
49         vtkImageData                                            *imagedataMaskResult;
50
51         bool isInside(int x, int y, int typeOperation );
52         void GetMinMaxPoint(int *minPoint, 
53                                                 int *maxPoint, 
54                                                 manualContourModel *manualcontourmodel );
55         void GetMinMaxPoint_Of_LstManConMod(    int *minPoint, 
56                                                                                         int *maxPoint);
57
58         int AnalisisContourInside(      int x, 
59                                                                 int y, 
60                                                                 manualContourModel *manualcontourmodel );
61         double GetDataValue(int x, int y, int z);
62         void ResetImageResult(int z);
63         void PutVtkImageDataResultValue( int x, int y,int z, double value );
64         void InitVtkImagesResult();
65
66
67   };
68
69
70 #endif  // __ContourExtractData_h_INCLUDED_H__
71