00001 #ifndef __SusanRestoration__
00002 #define __SusanRestoration__
00003 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00022 
00023 #include "AnImageOp.hpp"
00024 
00025 
00026 class SusanRestoration : public AnImageOp
00027 {
00028 private:
00029 
00030 int                     iterations;
00031         
00032 int                     nkernel;
00033 int*                    ki;
00034 int*                    kj;
00035 double*         exp_Rij;                
00036 
00037 double          t;                      
00038 double          sigma;
00039 
00040 
00041 public:
00042 
00043 SusanRestoration(int iter=2, double contrast=12.0, double sigma=7.0);
00044 ~SusanRestoration(){delete[] ki; delete[] kj; delete[] exp_Rij;}
00045 
00046 AnImage* filter(AnImage* src, AnImage* dest);
00047 };
00048 
00049 #endif