00001 #ifndef __ICoherenceEnhancementDiff55Op__ 00002 #define __ICoherenceEnhancementDiff55Op__ 00003 00026 #include <stdio.h> 00027 00028 #include "IMultiImageOp.hpp" 00029 00030 #include "Real3CImage.hpp" 00031 00032 00033 class ICoherenceEnhancementDiff55Op : public IMultiImageOp 00034 { 00035 protected: 00036 00037 double dt; 00038 double rho; 00039 double c1; 00040 double C; 00041 00042 protected: 00043 00044 // mono channel 00045 00046 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0); 00047 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0); 00048 00049 // separate color channels 00050 00051 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0); 00052 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0); 00053 00054 // combined color 00055 virtual Real3CImage* fcolorFilter(Real3CImage* src, Real3CImage* dest=0); 00056 virtual Real3CImage* fcolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0); 00057 00058 public: 00059 00060 ICoherenceEnhancementDiff55Op(int iter=25, double dT=0.2, double arho=5.0, double ac1=0.001, double aC=1.0, 00061 bool colorFlag= true):IMultiImageOp(iter, colorFlag) 00062 {dt= dT; rho= arho; c1=ac1; C=aC; } 00063 virtual ~ICoherenceEnhancementDiff55Op(){} 00064 00065 00066 virtual void report(FILE* file){} 00067 }; 00068 00069 00070 #endif