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

ICAosPeronaOp.hpp

00001 #ifndef __ICAosPeronaOp__
00002 #define __ICAosPeronaOp__
00003 
00037 #include <stdio.h>
00038 
00039 #include "ICMultiImageOp.hpp"
00040 
00041 #include "C3CImage.hpp"
00042 
00043 
00044 class ICAosPeronaOp : public ICMultiImageOp 
00045 {
00046 private:
00047 
00048 int                     type;
00049 
00050 int                     iter;
00051 double          tau;
00052 double          sigmaDelta;
00053 double          sigmaBlur;
00054 
00055 double          theta;
00056 
00057 bool                    iir;
00058 bool                    nonLinear;
00059 
00060 protected:
00061 
00062 // mono channel
00063 
00064 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00065 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00066 
00067 // separate color channels
00068 
00069 virtual C3CImage* scolorFilter(C3CImage* src, C3CImage* dest=0);
00070 virtual C3CImage* scolorSelectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0);
00071 
00072 
00073 // separate color channels
00074 
00075 virtual C3CImage* fcolorFilter(C3CImage* src, C3CImage* dest=0);
00076 virtual C3CImage* fcolorSelectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0);
00077 
00078 public:
00079         
00080 ICAosPeronaOp(int atype=0, int iterations=1, double t=0.5, double ctheta=0.001, 
00081                         double K=1.0, double sigma=3.0, 
00082         bool iirF=false, bool colorFlag= false, bool nonLinearF=true)
00083         :ICMultiImageOp(1,colorFlag)
00084         {type= atype; iter= iterations; tau= t; theta= ctheta; sigmaDelta= K; sigmaBlur=sigma; 
00085         iir= iirF; nonLinear=nonLinearF; }
00086 virtual ~ICAosPeronaOp(){}
00087 
00088 virtual AnImage* filter(AnImage* src, AnImage* dest=0);
00089 virtual AnImage* selectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00090 
00091 virtual void report(FILE* file){}
00092 };
00093 
00094 
00095 #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