00001 #ifndef __FMaxBiasedSlopeOp__ 00002 #define __FMaxBiasedSlopeOp__ 00003 00004 00005 00027 #include <stdio.h> 00028 #include <math.h> 00029 00030 #include "FGradientNormOp.hpp" 00031 00032 00033 00034 class FMaxBiasedSlopeOp : public FGradientNormOp 00035 { 00036 private: 00037 00038 float invroot2; 00039 00040 public: 00041 00042 FMaxBiasedSlopeOp(){invroot2= 0.5*sqrt(2.0);} 00043 virtual ~FMaxBiasedSlopeOp(){} 00044 00045 // point based computations 00046 // ------------------------ 00047 virtual float get(int x, int y); // if no side effects 00048 // borders 00049 virtual float getN(int x); 00050 virtual float getE(int y); 00051 virtual float getS(int x); 00052 virtual float getW(int y); 00053 // corners 00054 virtual float getNW(); 00055 virtual float getNE(); 00056 virtual float getSE(); 00057 virtual float getSW(); 00058 00059 virtual void report(FILE* file){ fprintf(file,"MaxBiasedSlope Gradient Norm Approximation\n"); } 00060 }; 00061 00062 00063 #endif