#ifndef __ContourExtractData_h_INCLUDED_H__ #define __ContourExtractData_h_INCLUDED_H__ #include "manualContourModel.h" #include "marTypes.h" //-------------------------------------------------------------------------- class creaMaracasVisu_EXPORT ContourExtractData { public: ContourExtractData(bool imagesResults=false); ~ContourExtractData(); //---------------------------------------------------------------------- void SetImage( vtkImageData* imagedata); void SetZtoBeAnalys( int z ); void SetLstManualContourModel( std::vector lstManConMod); void GetValuesInsideCrown( std::vector *pLstValue, std::vector *pLstValuePosX, std::vector *pLstValuePosY, std::vector *pLstValuePosZ); void CalculateImageResult(); vtkImageData *GetVtkImageValueResult(); vtkImageData *GetVtkImageMaskResult(); void Statistics( std::vector *inputLstValue, int grayRangeMin, int grayRangeMax, int *rCountRange, int *rsize, double *rmin, double *rmax, double *raverage, double *rstandardeviation); void SetTypeOperation(int type); //--Volume Statistics-- void InitVolumeStatistics(); void GetVolumeStatistics(int *vol_rCountRange, int *vol_rsize, double *vol_minValue, double *vol_maxValue, double *vol_average, double *vol_standardeviation); void ResetImageResult(int z); private: bool okImagesResults; std::vector lstManConMod; int _typeOperation; int zImage; vtkImageData *imagedata; vtkImageData *imagedataValueResult; vtkImageData *imagedataMaskResult; bool isInside(int x, int y, int typeOperation ); void GetMinMaxPoint(int *minPoint, int *maxPoint, manualContourModel *manualcontourmodel ); void GetMinMaxPoint_Of_LstManConMod( int *minPoint, int *maxPoint); int AnalisisContourInside( int x, int y, manualContourModel *manualcontourmodel ); double GetDataValue(int x, int y, int z); void PutVtkImageDataResultValue( int x, int y,int z, double value ); void InitVtkImagesResult(); //--Volume Statistics-- int vol_rCountRange; int vol_rsize; double vol_minValue; double vol_maxValue; double vol_acum_average; double vol_acum_standardeviation; void SetVolumeStatistics(int rCountRange, int rsize, double minValue,double maxValue, double acum_average, double acum_standardeviation); }; #endif // __ContourExtractData_h_INCLUDED_H__