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

RLysaker2thOrderFilter.hpp

00001 #ifndef __RLysaker2thOrderFilter__
00002 #define __RLysaker2thOrderFilter__
00003 
00004 
00005 
00038 #include <stdio.h>
00039 
00040 
00041 #include "AbsRImageFilter.hpp"
00042 
00043 
00044 class RLysaker2thOrderFilter : public AbsRImageFilter
00045 {
00046 protected:
00047 
00048 RImage*                         u0;                             // origin image
00049 RImage*                         u;                              // current image
00050 
00051 
00052 RImage*                         aDUx;                   // second order norme
00053 RImage*                         bDUy;                   // second order norme
00054 RImage*                         deltaU;                 //difference to target to compute dynamicaly lambda
00055 
00056 double                          lambda;                 // used for linear constrains around the origin
00057 double                          sigma2;
00058 double                          epsilon;
00059 
00060 double                          sumI0_2;                // cached value for sigma2
00061 
00062 int                                     niterations;
00063 double                          dt;
00064 
00065 protected:
00066 
00067 virtual void channelConstrain();
00068 virtual void channelConstrain(AnImage& mask);
00069 
00070 virtual double operation(RImage* im, int x, int y);
00071 
00072 virtual void operations(RImage* result);
00073 virtual void operations(AnImage& mask, RImage* result);
00074 
00075 public:
00076         
00077 RLysaker2thOrderFilter(int n, double rdt=0.1);
00078 virtual ~RLysaker2thOrderFilter(){ }
00079 
00080 virtual void setMask(int n, int* xp, int* yp){ xm=xp; ym=yp; nMask=n; }
00081 
00082 
00083 virtual RImage* filter(RImage* src, RImage* dest=0);
00084 virtual RImage* selectedFilter(AnImage* mask, RImage* src, RImage* dest=0);
00085 
00086 virtual void report(FILE* file){}
00087 };
00088 
00089 
00090 #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