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