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