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

IFDistanceAosBarashOp.hpp

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