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