00001 #ifndef __C3SepCImageFilter__ 00002 #define __C3SepCImageFilter__ 00003 00004 00005 00024 #include <stdio.h> 00025 00026 #include "AnImage.hpp" 00027 #include "AbsCImageFilter.hpp" 00028 00029 #include "C3CImage.hpp" 00030 00031 class C3SepCImageFilter 00032 { 00033 private: 00034 00035 AbsCImageFilter* singleChannelFilter; 00036 00037 public: 00038 00039 C3SepCImageFilter(AbsCImageFilter* aFilter){ singleChannelFilter= aFilter; } 00040 virtual ~C3SepCImageFilter(){} 00041 00042 00043 // single shot filtering 00044 virtual C3CImage* filter(C3CImage* src, C3CImage* dest=0); 00045 virtual C3CImage* selectedFilter(AnImage* mask, C3CImage* src, C3CImage* dest=0); 00046 00047 // iterative filter form 00048 virtual C3CImage* mfilter(int n, C3CImage* src, C3CImage* dest=0); 00049 virtual C3CImage* mSelectedFilter(int n, AnImage* mask, C3CImage* src, C3CImage* dest=0); 00050 00051 virtual void report(FILE* file){} 00052 }; 00053 00054 00055 #endif