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

IFAosBarashOp.hpp

00001 #ifndef __IFAosBarashOp__
00002 #define __IFAosBarashOp__
00003 
00044 #include <stdio.h>
00045 
00046 #include "IFMultiImageOp.hpp"
00047 
00048 #include "Float3CImage.hpp"
00049 
00050 
00051 class IFAosBarashOp : public IFMultiImageOp 
00052 {
00053 private:
00054 
00055 int                     iter;
00056 
00057 bool                    perceptualFlag;         // Barash simplification, enhance more details, no original bluring
00058 
00059 int                     psfSize;
00060 double          tau;
00061 
00062 double          alpha;
00063 
00064 double          sigmaBlur;
00065 double          c1;
00066 
00067 bool                    iir;
00068 
00069 protected:
00070 
00071 // mono channel
00072 
00073 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00074 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00075 
00076 // separate color channels
00077 
00078 virtual Float3CImage* scolorFilter(Float3CImage* src, Float3CImage* dest=0);
00079 virtual Float3CImage* scolorSelectedFilter(AnImage* mask, Float3CImage* src, Float3CImage* dest=0);
00080 
00081 
00082 // separate color channels
00083 
00084 virtual Float3CImage* fcolorFilter(Float3CImage* src, Float3CImage* dest=0);
00085 virtual Float3CImage* fcolorSelectedFilter(AnImage* mask, Float3CImage* src, Float3CImage* dest=0);
00086 
00087 public:
00088         
00089 IFAosBarashOp(int iterations=1, int psfSz=5, double t=10.0, double aalpha=0.01,
00090                          double sigma=0.25, double ac1=0.33, bool perceptual= true, bool colorFlag= false)
00091                                 :IFMultiImageOp(1,colorFlag)
00092         {iter= iterations; tau= t; alpha= aalpha; sigmaBlur=sigma; c1=ac1; psfSize= psfSz; perceptualFlag= perceptual;}
00093 virtual ~IFAosBarashOp(){}
00094 
00095 
00096 virtual void report(FILE* file){}
00097 };
00098 
00099 
00100 #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