00001 #ifndef __ILargeDynamicLeeDetectorOp__ 00002 #define __ILargeDynamicLeeDetectorOp__ 00003 00004 00005 00046 #include <stdio.h> 00047 00048 #include "ILargeMorphologicalOp.hpp" 00049 00050 #include "ILargeErosionOp.hpp" 00051 #include "ILargeDilatationOp.hpp" 00052 00053 class ILargeDynamicLeeDetectorOp : public ILargeMorphologicalOp 00054 { 00055 protected: 00056 00057 ILargeErosionOp erosion; // min 00058 ILargeDilatationOp dilatation; // max 00059 00060 protected: 00061 00062 virtual int operation(AnImage* src, int channel, int i, int j){return 0;} 00063 00064 public: 00065 00066 ILargeDynamicLeeDetectorOp(){} 00067 ILargeDynamicLeeDetectorOp(StructuredElement* aStructuredElement); 00068 virtual ~ILargeDynamicLeeDetectorOp(){} 00069 00070 virtual void setIterations(int iter){dilatation.setIterations(iter); erosion.setIterations(iter);} 00071 00072 virtual void setStructuredElement(StructuredElement* aStructuredElement); 00073 00074 virtual AnImage* filter(AnImage* src, AnImage* dest=0); 00075 00076 virtual void report(FILE* file){} 00077 }; 00078 00079 00080 #endif