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

ICShockOp.hpp

00001 #ifndef __ICShockOp__
00002 #define __ICShockOp__
00003 
00004 
00005 
00027 #include <stdio.h>
00028 
00029 #include "ICMultiImageOp.hpp"
00030 
00031 #include "C3CImage.hpp"
00032 
00033 
00034 class ICShockOp : public ICMultiImageOp 
00035 {
00036 private:
00037 
00038 int             type;
00039 
00040 double  alpha;
00041 
00042 double  lambda; // tangent diff
00043 double  theta;  
00044 
00045 double  lambdaT;        // tangent diff
00046 double  a;              // atan smooth shock param
00047 
00048 
00049 protected:
00050 
00051 // mono channel
00052 
00053 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00054 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00055 
00056 // separate color channels
00057 
00058 virtual C3CImage* scolorFilter(C3CImage* src, C3CImage* dest=0);
00059 virtual C3CImage* scolorSelectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0);
00060 
00061 
00062 // separate color channels
00063 
00064 virtual C3CImage* fcolorFilter(C3CImage* src, C3CImage* dest=0);
00065 virtual C3CImage* fcolorSelectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0);
00066 
00067 public:
00068         
00069 ICShockOp(int iter, double anAlpha=0.03, int atype=0, 
00070         double rlambda=0.2, double atheta=0.001, double ax=1.0, double lambdaTg=1.0, bool colorFlag= false)
00071         :ICMultiImageOp(iter,colorFlag)
00072         {type=atype; alpha=anAlpha; theta= atheta; lambda=rlambda; lambdaT= lambdaTg; a=ax;}
00073 virtual ~ICShockOp(){}
00074 
00075 virtual AnImage* filter(AnImage* src, AnImage* dest=0);
00076 virtual AnImage* selectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00077 
00078 virtual void report(FILE* file){}
00079 };
00080 
00081 
00082 #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