//////////////////////////////// /// Fichier StenoseNBBase.h //// //////////////////////////////// #ifndef _StenoseNBBase_h_ #define _StenoseNBBase_h_ /*--------------------------------------------------------\ Includes \--------------------------------------------------------*/ #include "scale.h" #include "vector.h" #include "../Object/regionEllipse.h" #include "CStenoseNBInfo.h" #include "../TRIM/img.h" #include #include /*----------------------------------------------------------\ Classes \----------------------------------------------------------*/ class CStenoseResult; class ExtendedImage; enum enumStep { stepNone, stepEllipsis, stepMark, stepSettings }; class CStenoseNBBase { public: CStenoseNBBase(); virtual ~CStenoseNBBase(); enumStep m_step; unsigned long m_clrVert; unsigned long m_clrOrange; img m_wimg; // Image de travail int m_iMax; Rect m_rcStenose; // rectangle englobant de la sténose Point m_ptStenose; Point *m_pPoints; int m_dwPoints; int m_SeuilBlobColoring; int m_debug1; // Variables pour Debugger la partie Alchemy int m_debug2; int m_debug3; int m_debug4; int m_debug5; void Release(); double Ratio(); double Surface(); int Density(); bool ParametrerRegionATraiter (Rect &rcStenose, Point ptStenose); void TraiterPoint (int x, int y); int GetIntensityTache(int ptCentrex, int ptCentrey, int nRayonTache); int Threshold_2(ExtendedImage *h_image, int iMax, Rect &rcEllipse, int ptx, int pty); virtual bool DoBlobColoring(); virtual bool DoClosing(); virtual void GraphMeanInit() { }; virtual void GraphMeanAddMeasure( bool, double ) { }; virtual int GetWidth(); virtual int GetHeight(); virtual unsigned long GetPixelResult(const int& x, const int& y); virtual unsigned long GetPixelResult(const Point& pt); virtual void SetPixelResult(Point& pt, unsigned long vColor); virtual void SetPixelResult(int x, int y, unsigned long vColor); virtual unsigned char GetIntensityResult(const int& x, const int& y); virtual unsigned char GetIntensityResult(const Point& pt); virtual bool IsColor(int x, int y); virtual bool PointInBufferResult(const int& x, const int& y); virtual bool PointInBufferResult(const Point& pt); void myDrawEllipse(); void PutPixEllipse(float xc,float yc,float x,float y); virtual void WritePixel(int x, int y); protected: ExtendedImage *m_result; private: RegionEllipse m_rgnATraiter; // région de traitement public: double m_dblSurface; double m_dblVesselArea; int m_dwGreen; int m_dwOther; int m_dwMean; }; #endif