00001 #ifndef __ILargeRampRangeOp__ 00002 #define __ILargeRampRangeOp__ 00003 00004 00005 00038 #include <stdio.h> 00039 00040 #include "ILargeMorphologicalOp.hpp" 00041 00042 #include "ILargeDynamicRangeOp.hpp" 00043 #include "ILargeTextureRangeOp.hpp" 00044 00045 class ILargeRampRangeOp : public ILargeMorphologicalOp 00046 { 00047 protected: 00048 00049 ILargeDynamicRangeOp dyr; // low 00050 ILargeTextureRangeOp ter; // upp 00051 00052 protected: 00053 00054 virtual int operation(AnImage* src, int channel, int i, int j){return 0;} 00055 00056 public: 00057 00058 ILargeRampRangeOp(){} 00059 ILargeRampRangeOp(StructuredElement* aStructuredElement); 00060 virtual ~ILargeRampRangeOp(){} 00061 00062 virtual void setIterations(int iter){dyr.setIterations(iter); ter.setIterations(iter);} 00063 00064 virtual void setStructuredElement(StructuredElement* aStructuredElement); 00065 00066 virtual AnImage* filter(AnImage* src, AnImage* dest=0); 00067 00068 virtual void report(FILE* file){} 00069 }; 00070 00071 00072 #endif