00001 #ifndef __RMinMaxBinaryFlow__
00002 #define __RMinMaxBinaryFlow__
00003
00026 #include <stdio.h>
00027
00028 #include "AnImage.hpp"
00029 #include "AbsRImageFilter.hpp"
00030
00031 class RMinMaxBinaryFlow : public AbsRImageFilter
00032 {
00033 protected:
00034
00035 int niterations;
00036 double alpha;
00037
00038 double threshold;
00039 int widthStencil;
00040
00041 protected:
00042
00043 virtual double average(RImage& im, int x,int y);
00044
00045 virtual double operation(RImage& image, int x, int y);
00046 virtual void operations(RImage& result, RImage& image);
00047 virtual void operations(AnImage& mask, RImage& result, RImage& image);
00048
00049 public:
00050
00051 RMinMaxBinaryFlow(int n, double ralpha, double athreshold=0.0, int stencil=0);
00052 virtual ~RMinMaxBinaryFlow(){}
00053
00054
00055 virtual RImage* filter(RImage* src, RImage* dest=0);
00056 virtual RImage* selectedFilter(AnImage* mask, RImage* src, RImage* dest=0);
00057
00058 virtual void report(FILE* file){}
00059 };
00060
00061
00062 #endif