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

IDistanceLodHeatFlowOp.hpp

00001 #ifndef __IDistanceLodHeatFlowOp__
00002 #define __IDistanceLodHeatFlowOp__
00003 
00040 #include <stdio.h>
00041 
00042 #include "IMultiImageOp.hpp"
00043 
00044 #include "Real3CImage.hpp"
00045 
00046 
00047 class IDistanceLodHeatFlowOp : public IMultiImageOp 
00048 {
00049 private:
00050 
00051 int                     iter;
00052 double          tmin, tmax;
00053 
00054 RImage*         distanceMapEdges;
00055 
00056 protected:
00057 
00058 // mono channel
00059 
00060 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00061 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00062 
00063 // separate color channels
00064 
00065 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0);
00066 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00067 
00068 
00069 // separate color channels
00070 
00071 virtual Real3CImage* fcolorFilter(Real3CImage* src, Real3CImage* dest=0);
00072 virtual Real3CImage* fcolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00073 
00074 public:
00075         
00077 IDistanceLodHeatFlowOp(RImage* edgeDistance=0, int iterations=1, double tMin=0.0, double tMax=20.0, bool colorFlag= false)
00078         :IMultiImageOp(1,colorFlag)
00079         {iter= iterations; tmin= tMin; tmax= tMax; distanceMapEdges=edgeDistance;}
00080 virtual ~IDistanceLodHeatFlowOp(){}
00081 
00082 void    setEdgeDistance(RImage* distanceMap){ distanceMapEdges= distanceMap; } 
00083 
00084 
00085 virtual void report(FILE* file){}
00086 };
00087 
00088 
00089 #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