00001 #ifndef __CThomasHeatOp__
00002 #define __CThomasHeatOp__
00003
00004
00046 #include <stdio.h>
00047
00048 #include "AbsCImageFilter.hpp"
00049
00050 #include "CThomasLS.hpp"
00051
00052 class CThomasHeatOp : public AbsCImageFilter
00053 {
00054 protected:
00055
00056
00057
00058 int w, h;
00059
00060 int iterMax;
00061 double tau;
00062 double theta;
00063
00064 CThomasLS* hCThomasLS;
00065
00066 CThomasLS* vCThomasLS;
00067
00068 public:
00069
00071 CThomasHeatOp(int iteraions=8, double t=0.5, double ctheta=0.001);
00072 virtual ~CThomasHeatOp(){}
00073
00074
00075 virtual CImage* filter(CImage* src, CImage* dest=0);
00076 virtual CImage* selectedFilter(AnImage* mask, CImage* src, CImage* dest=0);
00077
00078 virtual void report(FILE* file){ fprintf(file,"Real Heat flow Blur Operator\n"); }
00079 };
00080
00081
00082 #endif