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