00001 #ifndef __RAosPeronaFabOp__
00002 #define __RAosPeronaFabOp__
00003
00004
00051 #include <stdio.h>
00052
00053 #include "RSimpleAosOp.hpp"
00054
00055
00056 class RAosPeronaFabOp : public RSimpleAosOp
00057 {
00058 protected:
00059
00060 RImage* I0;
00061
00062 double gsigma;
00063 RImage* gradI0;
00064
00065 int nf;
00066 double kf;
00067
00068
00069 int nb;
00070 double alpha;
00071 double kb;
00072 double wb;
00073
00074 virtual double g(int i, int j);
00075
00076 public:
00077
00078 RAosPeronaFabOp(int iterations=8, double t=0.5,
00079 int nf=4, int nb=2, double gSigma=3.0,
00080 double rkf=0.1, double asigma=5.0, double rkb= 6.0, double rw=2.0,
00081 bool iirFlag=false, bool nonLinearFlag=true);
00082 virtual ~RAosPeronaFabOp(){}
00083
00084 virtual RImage* filter(RImage* src, RImage* dest=0);
00085
00086 virtual void report(FILE* file){ fprintf(file,"Real FAB Aos Perona Operator\n"); }
00087 };
00088
00089
00090 #endif