00001 #ifndef __IGeodesicBeltramiOp__ 00002 #define __IGeodesicBeltramiOp__ 00003 00004 00005 00028 #include <stdio.h> 00029 00030 #include "IMultiImageOp.hpp" 00031 00032 00033 class IGeodesicBeltramiOp : public IMultiImageOp 00034 { 00035 protected: 00036 00037 // mono channel 00038 00039 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0); 00040 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0); 00041 00042 // separate color channels 00043 00044 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0); 00045 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0); 00046 00047 00048 // separate color channels 00049 00050 virtual Real3CImage* fcolorFilter(Real3CImage* src, Real3CImage* dest=0); 00051 virtual Real3CImage* fcolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0); 00052 00053 public: 00054 IGeodesicBeltramiOp(int iter=50, bool colorFlag= false):IMultiImageOp(iter, colorFlag){} 00055 virtual ~IGeodesicBeltramiOp(){} 00056 00057 00058 virtual void report(FILE* file){} 00059 }; 00060 00061 00062 #endif