00001 #ifndef __IHJFastSweepingOp__ 00002 #define __IHJFastSweepingOp__ 00003 00004 00005 00032 #include "AnImage.hpp" 00033 #include "RImage.hpp" 00034 00035 #include "AnImageOp.hpp" 00036 00037 00038 00039 class IHJFastSweepingOp : public AnImageOp 00040 { 00041 protected: 00042 00043 double a,b,c, R; 00044 double slowness; // 1/r 00045 00046 int iterMax; 00047 int width; 00048 int height; 00049 00050 public: 00051 00052 IHJFastSweepingOp(double ax=1.0, double bx=1.0, double cx=0.0, double Rx=1.0) 00053 { a=ax; b=bx; c=cx; R=Rx; iterMax=10;} 00054 virtual ~IHJFastSweepingOp(){ } 00055 00056 00058 virtual AnImage* filter(AnImage* mask, AnImage* dest=0); 00059 virtual AnImage* selectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0); 00060 00062 virtual RImage* rfilter(AnImage* mask, RImage* dest=0, bool dmapFlag=false); 00063 00064 virtual void report(){} 00065 }; 00066 00067 #endif