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

IF2DHeatFlowOp.hpp

00001 #ifndef __IF2DHeatFlowOp__
00002 #define __IF2DHeatFlowOp__
00003 
00041 #include <stdio.h>
00042 
00043 #include "IFMultiImageOp.hpp"
00044 
00045 #include "Float3CImage.hpp"
00046 #include "SolverTimeScheme.hpp"
00047 
00048 class IF2DHeatFlowOp : public IFMultiImageOp 
00049 {
00050 private:
00051 
00052 SolverTimeScheme        family;
00053 
00054 int                     iter;
00055 int                     innerIter;
00056 double          tau;
00057 
00058 int                     typeSolver;
00059 float                   epsilon;
00060 
00061 protected:
00062 
00063 // mono channel
00064 
00065 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00066 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00067 
00068 // separate color channels
00069 
00070 virtual Float3CImage* scolorFilter(Float3CImage* src, Float3CImage* dest=0);
00071 virtual Float3CImage* scolorSelectedFilter(AnImage* mask, Float3CImage* src, Float3CImage* dest=0);
00072 
00073 
00074 // separate color channels
00075 
00076 virtual Float3CImage* fcolorFilter(Float3CImage* src, Float3CImage* dest=0);
00077 virtual Float3CImage* fcolorSelectedFilter(AnImage* mask, Float3CImage* src, Float3CImage* dest=0);
00078 
00079 public:
00080         
00082 IF2DHeatFlowOp(int atypeSolver, int iterMax=1, int insideIter=8, float t=0.5, float eps=1.0e-4, bool colorFlag= false)
00083                 :IFMultiImageOp(1,colorFlag)
00084         {family= AOS; typeSolver=atypeSolver;  iter= iterMax; innerIter= insideIter; tau= t; epsilon=eps;}
00085 IF2DHeatFlowOp(SolverTimeScheme afamily, int atypeSolver,  
00086                         int iterMax=1, int insideIter=8, float t=0.5, float eps=1.0e-4, bool colorFlag= false)
00087                 :IFMultiImageOp(1,colorFlag)
00088         {family= afamily; typeSolver=atypeSolver;  iter= iterMax; innerIter= insideIter; tau= t; epsilon=eps;}
00089 virtual ~IF2DHeatFlowOp(){}
00090 
00091 
00092 virtual void report(FILE* file){}
00093 };
00094 
00095 
00096 #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