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