X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2FContour%2FContourExtractData.h;h=a1d4ddc3ee27679360d2e12e89e763b73363413b;hb=61dfb8201f2762bceabe938f978e6ada6f9d0873;hp=edf87f3c470e525d6f9655e6169e4659fa9c4591;hpb=c5feadbb145eecf6d73f793535b7e23eb18db2cb;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h b/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h index edf87f3..a1d4ddc 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/Contour/ContourExtractData.h @@ -3,12 +3,12 @@ #define __ContourExtractData_h_INCLUDED_H__ -#include +#include "manualContourModel.h" #include "marTypes.h" //-------------------------------------------------------------------------- - class MARACASVISULIB_EXPORTS ContourExtractData + class creaMaracasVisu_EXPORT ContourExtractData { public: ContourExtractData(bool imagesResults=false); @@ -38,6 +38,15 @@ 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; @@ -58,11 +67,31 @@ int AnalisisContourInside( int x, int y, manualContourModel *manualcontourmodel ); + int AnalisisContourInsideV2(int x, int y, int iContour ); + double GetDataValue(int x, int y, int z); - void ResetImageResult(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); + + // Optimize IsInside + // List of contours , list of linesY, list of points over the line + std::vector< std::vector< std::vector > > _lstlstlstVecX1; + std::vector< std::vector< std::vector > > _lstlstlstVecY1; + std::vector< std::vector< std::vector > > _lstlstlstVecX2; + std::vector< std::vector< std::vector > > _lstlstlstVecY2; + void Fill_lstlstlstVecXY(int iContour, int sizeY); + void InitLstContoursLinesYPoints(); };