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 // basic filter parameters 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 // single shot filtering 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