StenoseNBBase.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. ////////////////////////////////
  2. /// Fichier StenoseNBBase.h ////
  3. ////////////////////////////////
  4. #ifndef _StenoseNBBase_h_
  5. #define _StenoseNBBase_h_
  6. /*--------------------------------------------------------\
  7. Includes
  8. \--------------------------------------------------------*/
  9. #include "scale.h"
  10. #include "vector.h"
  11. #include "../Object/regionEllipse.h"
  12. #include "CStenoseNBInfo.h"
  13. #include "../TRIM/img.h"
  14. #include <vector>
  15. #include <cassert>
  16. /*----------------------------------------------------------\
  17. Classes
  18. \----------------------------------------------------------*/
  19. class CStenoseResult;
  20. class ExtendedImage;
  21. enum enumStep
  22. {
  23. stepNone,
  24. stepEllipsis,
  25. stepMark,
  26. stepSettings
  27. };
  28. class CStenoseNBBase
  29. {
  30. public:
  31. CStenoseNBBase();
  32. virtual ~CStenoseNBBase();
  33. enumStep m_step;
  34. unsigned long m_clrVert;
  35. unsigned long m_clrOrange;
  36. img m_wimg; // Image de travail
  37. int m_iMax;
  38. Rect m_rcStenose; // rectangle englobant de la sténose
  39. Point m_ptStenose;
  40. Point *m_pPoints;
  41. int m_dwPoints;
  42. int m_SeuilBlobColoring;
  43. int m_debug1; // Variables pour Debugger la partie Alchemy
  44. int m_debug2;
  45. int m_debug3;
  46. int m_debug4;
  47. int m_debug5;
  48. void Release();
  49. double Ratio();
  50. double Surface();
  51. int Density();
  52. bool ParametrerRegionATraiter (Rect &rcStenose, Point ptStenose);
  53. void TraiterPoint (int x, int y);
  54. int GetIntensityTache(int ptCentrex, int ptCentrey, int nRayonTache);
  55. int Threshold_2(ExtendedImage *h_image, int iMax, Rect &rcEllipse, int ptx, int pty);
  56. virtual bool DoBlobColoring();
  57. virtual bool DoClosing();
  58. virtual void GraphMeanInit() { };
  59. virtual void GraphMeanAddMeasure( bool, double ) { };
  60. virtual int GetWidth();
  61. virtual int GetHeight();
  62. virtual unsigned long GetPixelResult(const int& x, const int& y);
  63. virtual unsigned long GetPixelResult(const Point& pt);
  64. virtual void SetPixelResult(Point& pt, unsigned long vColor);
  65. virtual void SetPixelResult(int x, int y, unsigned long vColor);
  66. virtual unsigned char GetIntensityResult(const int& x, const int& y);
  67. virtual unsigned char GetIntensityResult(const Point& pt);
  68. virtual bool IsColor(int x, int y);
  69. virtual bool PointInBufferResult(const int& x, const int& y);
  70. virtual bool PointInBufferResult(const Point& pt);
  71. void myDrawEllipse();
  72. void PutPixEllipse(float xc,float yc,float x,float y);
  73. virtual void WritePixel(int x, int y);
  74. protected:
  75. ExtendedImage *m_result;
  76. private:
  77. RegionEllipse m_rgnATraiter; // région de traitement
  78. public:
  79. double m_dblSurface;
  80. double m_dblVesselArea;
  81. int m_dwGreen;
  82. int m_dwOther;
  83. int m_dwMean;
  84. };
  85. #endif