00001 #ifndef __ILysakerNthOrderOp__ 00002 #define __ILysakerNthOrderOp__ 00003 00036 #include <stdio.h> 00037 00038 #include "IMultiImageOp.hpp" 00039 00040 #include "Real3CImage.hpp" 00041 00042 00043 class ILysakerNthOrderOp : public IMultiImageOp 00044 { 00045 int m; 00046 double dt; 00047 00048 protected: 00049 00050 // mono channel 00051 00052 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0); 00053 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0); 00054 00055 // separate color channels 00056 00057 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0); 00058 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0); 00059 00060 00061 // separate color channels 00062 00063 virtual Real3CImage* fcolorFilter(Real3CImage* src, Real3CImage* dest=0); 00064 virtual Real3CImage* fcolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0); 00065 00066 public: 00067 ILysakerNthOrderOp(int iter=50, int im=2, double rdt=0.2, bool colorFlag= false):IMultiImageOp(iter,colorFlag) 00068 {m= im; dt= rdt;} 00069 virtual ~ILysakerNthOrderOp(){} 00070 00071 00072 virtual void report(FILE* file){} 00073 }; 00074 00075 00076 #endif