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;
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