00001 #ifndef __RThomasHeat4thOp__
00002 #define __RThomasHeat4thOp__
00003 
00004 
00032 #include <stdio.h>
00033 
00034 #include "AbsRImageFilter.hpp"
00035 
00036 #include "PentaThomasLS.hpp"
00037 
00038 class RThomasHeat4thOp : public  AbsRImageFilter
00039 {
00040 protected:
00041 
00042 
00043 
00044 int                     w, h;
00045 
00046 int                     iterMax;
00047 double          tau;
00048 
00049 PentaThomasLS*  hThomasLS;
00050 
00051 PentaThomasLS*  vThomasLS;
00052 
00053 public:
00054         
00056 RThomasHeat4thOp(int iterations=1, double t=0.5);
00057 virtual ~RThomasHeat4thOp(){}
00058 
00059 
00060 virtual RImage* filter(RImage* src, RImage* dest=0);
00061 virtual RImage* selectedFilter(AnImage* mask, RImage* src, RImage* dest=0);
00062 
00063 virtual void report(FILE* file){ fprintf(file,"Real Recursive 2d Blur Operator\n"); }
00064 };
00065 
00066 
00067 #endif