00001 #ifndef __IRudinOsherFatemiOp__
00002 #define __IRudinOsherFatemiOp__
00003
00023 #include <stdio.h>
00024
00025 #include "IMultiImageOp.hpp"
00026
00027 #include "Real3CImage.hpp"
00028
00029
00030 class IRudinOsherFatemiOp : public IMultiImageOp
00031 {
00032 int implementation;
00033 double dt;
00034
00035 protected:
00036
00037
00038
00039 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0);
00040 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0);
00041
00042
00043
00044 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0);
00045 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0);
00046
00047
00048
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 IRudinOsherFatemiOp(int iter=50, int type=1, double rdt=0.1, bool colorFlag= false):IMultiImageOp(iter,colorFlag)
00055 {implementation= type; dt= rdt;}
00056 virtual ~IRudinOsherFatemiOp(){}
00057
00058
00059 virtual void report(FILE* file){}
00060 };
00061
00062
00063 #endif