2 #ifndef __ContourExtractData_h_INCLUDED_H__
3 #define __ContourExtractData_h_INCLUDED_H__
6 #include "manualContourModel.h"
10 //--------------------------------------------------------------------------
11 class creaMaracasVisu_EXPORT ContourExtractData
14 ContourExtractData(bool imagesResults=false);
15 ~ContourExtractData();
17 //----------------------------------------------------------------------
18 void SetImage( vtkImageData* imagedata);
19 void SetZtoBeAnalys( int z );
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);
27 void CalculateImageResult();
28 vtkImageData *GetVtkImageValueResult();
29 vtkImageData *GetVtkImageMaskResult();
30 void Statistics( std::vector<double> *inputLstValue,
38 double *rstandardeviation);
39 void SetTypeOperation(int type);
41 //--Volume Statistics--
42 void InitVolumeStatistics();
43 void GetVolumeStatistics(int *vol_rCountRange, int *vol_rsize,
44 double *vol_minValue, double *vol_maxValue,
45 double *vol_average, double *vol_standardeviation);
47 void ResetImageResult(int z);
52 std::vector<manualContourModel*> lstManConMod;
56 vtkImageData *imagedata;
57 vtkImageData *imagedataValueResult;
58 vtkImageData *imagedataMaskResult;
60 bool isInside(int x, int y, int typeOperation );
61 void GetMinMaxPoint(int *minPoint,
63 manualContourModel *manualcontourmodel );
64 void GetMinMaxPoint_Of_LstManConMod( int *minPoint,
67 int AnalisisContourInsideV2(int x, int y, int iContour );
69 double GetDataValue(int x, int y, int z);
70 void PutVtkImageDataResultValue( int x, int y,int z, double value );
71 void InitVtkImagesResult();
73 //--Volume Statistics--
78 double vol_acum_average;
79 double vol_acum_standardeviation;
80 void SetVolumeStatistics(int rCountRange, int rsize,
81 double minValue,double maxValue,
82 double acum_average, double acum_standardeviation);
85 // List of contours , list of linesY, list of points over the line
86 std::vector< std::vector< std::vector<double> > > _lstlstlstVecX1;
87 std::vector< std::vector< std::vector<double> > > _lstlstlstVecY1;
88 std::vector< std::vector< std::vector<double> > > _lstlstlstVecX2;
89 std::vector< std::vector< std::vector<double> > > _lstlstlstVecY2;
90 void Fill_lstlstlstVecXY(int iContour, int sizeY);
91 void InitLstContoursLinesYPoints();
96 #endif // __ContourExtractData_h_INCLUDED_H__