00001 #ifndef __RSimpleRecursive2dBlurOp__
00002 #define __RSimpleRecursive2dBlurOp__
00003
00004
00037 #include <stdio.h>
00038
00039 #include "AbsRImageFilter.hpp"
00040
00041 class RSimpleRecursive2dBlurOp : public AbsRImageFilter
00042 {
00043 protected:
00044
00045
00046 double alpha;
00047
00048 double k;
00049 double gamma, gamma2;
00050
00051 protected:
00052
00053 virtual void computeNormalisation();
00054
00055 virtual void computeCausalFilter();
00056 virtual void computeNonCausalFilter();
00057
00058 public:
00059
00060 RSimpleRecursive2dBlurOp(double aalpha=1.0);
00061 virtual ~RSimpleRecursive2dBlurOp(){}
00062
00063
00064 virtual RImage* filter(RImage* src, RImage* dest=0);
00065 virtual RImage* selectedFilter(AnImage* mask, RImage* src, RImage* dest=0);
00066
00067 virtual void report(FILE* file){ fprintf(file,"Real Recursive 2d Blur Operator\n"); }
00068 };
00069
00070
00071 #endif