00001 #ifndef __RThomasHeatOp__ 00002 #define __RThomasHeatOp__ 00003 00004 00032 #include <stdio.h> 00033 00034 #include "AbsRImageFilter.hpp" 00035 00036 #include "ThomasLS.hpp" 00037 00038 class RThomasHeatOp : public AbsRImageFilter 00039 { 00040 protected: 00041 00042 // basic filter parameters 00043 00044 int w, h; 00045 00046 int iterMax; 00047 double tau; 00048 00049 ThomasLS* hThomasLS; 00050 00051 ThomasLS* vThomasLS; 00052 00053 public: 00054 00056 RThomasHeatOp(int iterations=1, double t=0.5); 00057 virtual ~RThomasHeatOp(){} 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