Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

IPeronaFabOp.hpp

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;                 // blurring of the gradient
00039 
00040 int                             nf;                             // order of (s/kf)^n
00041 double                  kf;                             // old lambda, used for linear constrains around the origin
00042 
00043 
00044 int                             nb;
00045 double                  alpha;                  // credit of backward diffusion
00046 double                  kb;                             // backward component
00047 double                  wb;                             // backward window
00048 
00049 double                  tau;
00050 
00051 
00052 protected:
00053 
00054 // mono channel
00055 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00056 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00057 
00058 // separate color channels
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
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com