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

CombinedDericheFilter.hpp

00001 #ifndef __CombinedDericheFilter__
00002 #define __CombinedDericheFilter__
00003 
00004 
00005 
00027 #include <stdio.h>
00028 
00029 #include "AnImage.hpp"
00030 #include "RImage.hpp"
00031 
00032 #include "ARColorImageFilter.hpp"
00033 
00034 #include "ShockFlow.hpp"
00035 
00036 class CombinedDericheFilter : public ARColorImageFilter
00037 {
00038 protected:
00039 
00040 int                             niterations;
00041 
00042 double                  alphaDiffusion;
00043 double                  sigma1;
00044 
00045 double                  alphaEnhancement;
00046 double                  sigma2;
00047 
00048 double                  lambda;
00049 
00050 Real3CImage*    I0;                             // origin image
00051 Real3CImage*    I;                              // current image
00052 
00053 RImage*                 Nxy;            // sqrt de (lambda+) (Shapiro norme)
00054 
00055 ShockFlow               shock;
00056 
00057 protected:
00058 
00059 virtual double g(double indicator, double sigma);
00060 
00061 virtual void computeIndicator(Real3CImage& image);
00062 virtual void computeIndicator(AnImage& mask, Real3CImage& image);
00063 
00064 virtual double operation(RImage& channel, int c, int x, int y);
00065 
00066 virtual void operations(Real3CImage& result, Real3CImage& image);
00067 virtual void operations(AnImage& mask, Real3CImage& result, Real3CImage& image);
00068 
00069 public:
00070         
00071 CombinedDericheFilter(int n=50, double dalpha=0.05, double atau1=0.1, double ealpha=0.05, double atau2=0.1);
00072 virtual ~CombinedDericheFilter(){}
00073 
00074 
00075 // single shot filtering
00076 virtual Real3CImage* filter(Real3CImage* src, Real3CImage* dest=0);
00077 virtual Real3CImage* selectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00078 
00079 
00080 
00081 virtual void report(FILE* file){}
00082 };
00083 
00084 
00085 #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