00001 #ifndef __PeronaProximityFabOp__ 00002 #define __PeronaProximityFabOp__ 00003 00025 #include <stdio.h> 00026 00027 #include "AnImage.hpp" 00028 #include "PeronaFabFilter.hpp" 00029 00030 class PeronaProximityFabOp : public PeronaFabFilter 00031 { 00032 protected: 00033 00034 double limitDistance2; // balance shock / diffusion 00035 RImage* distanceMapEdges; 00036 00037 protected: 00038 00039 virtual double g(int i, int j, double s); 00040 00041 public: 00042 00043 PeronaProximityFabOp(int n=16, double dt=0.1, RImage* distanceMap=0, double dlimit=5.0, 00044 int nf=4, int nb=2, double gSigma=3.0, double rkf=0.1, double rkb= 6.0, double rw=2.0); 00045 virtual ~PeronaProximityFabOp(){} 00046 00047 virtual void setEdgeDistance(RImage* distanceMap){ distanceMapEdges= distanceMap; } 00048 00049 virtual void report(FILE* file){} 00050 }; 00051 00052 00053 #endif