00001 #ifndef __IWindowFirstPcaOp__ 00002 #define __IWindowFirstPcaOp__ 00003 00004 00005 00028 #include <stdio.h> 00029 00030 #include "IMultiImageOp.hpp" 00031 00032 #include "Real3CImage.hpp" 00033 00034 00035 class IWindowFirstPcaOp : public IMultiImageOp 00036 { 00037 private: 00038 00039 int pcaChannel; 00040 int widthW, heightW; // Window size: default is 8x8 00041 00042 00043 protected: 00044 00045 // mono channel 00046 00047 virtual AnImage* greyFilter(AnImage* src, AnImage* dest=0); 00048 virtual AnImage* greySelectedFilter(AnImage* mask, AnImage* src, AnImage* dest=0); 00049 00050 // separate color channels 00051 00052 virtual Real3CImage* scolorFilter(Real3CImage* src, Real3CImage* dest=0); 00053 virtual Real3CImage* scolorSelectedFilter(AnImage* mask, Real3CImage* src, Real3CImage* dest=0); 00054 00055 00056 public: 00057 00058 IWindowFirstPcaOp(int pca=0, int widthWindow=8, int heightWindow=8, 00059 bool colorFlag= false):IMultiImageOp(1,colorFlag) 00060 { 00061 pcaChannel=pca; 00062 widthW= widthWindow; 00063 heightW=heightWindow; 00064 } 00065 virtual ~IWindowFirstPcaOp(){} 00066 00067 00068 virtual void report(FILE* file){} 00069 }; 00070 00071 00072 #endif