00001 #ifndef __IWaveletDenoisingOp__
00002 #define __IWaveletDenoisingOp__
00003
00004
00005
00052 #include <stdio.h>
00053
00054 #include "IMultiImageOp.hpp"
00055
00056 #include "Real3CImage.hpp"
00057
00058 #include "RWaveletDenoisingOp.hpp"
00059
00060 class IWaveletDenoisingOp : public IMultiImageOp
00061 {
00062 private:
00063
00064 WvltDenoising typeDenoising;
00065 int levels;
00066 int typeWavelet;
00067
00068 protected:
00069
00070
00071 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00072
00073
00074 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0);
00075
00076 public:
00077
00078 IWaveletDenoisingOp(bool colorFlag= false):IMultiImageOp(1,colorFlag)
00079 { typeDenoising= SureShrink; levels= 3; typeWavelet= 0; }
00080 IWaveletDenoisingOp(WvltDenoising type, int wlevels, int waveletId=0,bool colorFlag= false)
00081 :IMultiImageOp(1,colorFlag)
00082 { typeDenoising= type; levels= wlevels; typeWavelet= waveletId; }
00083 virtual ~IWaveletDenoisingOp(){}
00084
00085
00086 virtual void report(FILE* file){}
00087 };
00088
00089
00090 #endif