00001 #ifndef __ISharpenOp__
00002 #define __ISharpenOp__
00003
00025 #include <stdio.h>
00026
00027 #include "IMultiImageOp.hpp"
00028 #include "Real3CImage.hpp"
00029
00030
00031 class ISharpenOp : public IMultiImageOp
00032 {
00033 private:
00034
00035 int type;
00036 double alpha;
00037
00038 protected:
00039
00040
00041 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00042 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00043
00044
00045 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0);
00046 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00047
00048
00049 virtual Real3CImage* fcolorFilter(Real3CImage* src, Real3CImage* dest=0);
00050 virtual Real3CImage* fcolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00051
00052 public:
00053 ISharpenOp(int iter):IMultiImageOp(iter,false)
00054 {type= 1; alpha=0.1;}
00055 ISharpenOp(double strength, int iter):IMultiImageOp(iter,false)
00056 {type= 2; alpha=strength;}
00057 virtual ~ISharpenOp(){}
00058
00059 virtual void setType(int i){ type=i;}
00060 virtual void setAlpha(double val){ alpha=val;}
00061
00062 virtual void report(FILE* file){}
00063 };
00064
00065
00066 #endif