00001 #ifndef __IPeronaFabOp__
00002 #define __IPeronaFabOp__
00003
00004
00005
00028 #include <stdio.h>
00029
00030 #include "IMultiImageOp.hpp"
00031 #include "Real3CImage.hpp"
00032
00033
00034 class IPeronaFabOp : public IMultiImageOp
00035 {
00036 private:
00037
00038 double gsigma;
00039
00040 int nf;
00041 double kf;
00042
00043
00044 int nb;
00045 double alpha;
00046 double kb;
00047 double wb;
00048
00049 double tau;
00050
00051
00052 protected:
00053
00054
00055 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00056 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00057
00058
00059 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0);
00060 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00061
00062 public:
00063 IPeronaFabOp(int iter=16,
00064 double dt=0.1,int Nf=4, int Nb=2, double gSigma=3.0, double rkf=0.1, double rkb= 6.0, double rw=2.0,
00065 bool colorFlag= false):IMultiImageOp(iter,colorFlag)
00066 {
00067 tau= dt;
00068
00069 nf= Nf;
00070 nb= Nb;
00071 gsigma=gSigma;
00072 kf= rkf;
00073 kb= rkb;
00074 wb= rw;
00075 }
00076 virtual ~IPeronaFabOp(){}
00077
00078
00079 virtual void report(FILE* file){}
00080 };
00081
00082
00083 #endif