00001 #ifndef __RMinMaxGreyFlow__ 00002 #define __RMinMaxGreyFlow__ 00003 00026 #include <stdio.h> 00027 00028 00029 #include "RMinMaxBinaryFlow.hpp" 00030 00031 enum VariantMinMaxFlow { Sethian=0, RudinOsherFatemi=1, Beltrami=2 }; 00032 00033 class RMinMaxGreyFlow : public RMinMaxBinaryFlow 00034 { 00035 protected: 00036 00037 VariantMinMaxFlow variant; 00038 double gradientThreshold; 00039 00040 00041 protected: 00042 00043 virtual void flowThreshold(RImage& im, int x,int y); 00044 00045 virtual double operation(RImage& image, int x, int y); 00046 00047 public: 00048 00049 RMinMaxGreyFlow(VariantMinMaxFlow type=Sethian, int n=50, double ralpha=0.2, 00050 double gthreshold=5.0, int stencil=1); 00051 virtual ~RMinMaxGreyFlow(){} 00052 00053 00054 virtual void report(FILE* file){} 00055 }; 00056 00057 00058 #endif