00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 #ifndef HxImgFtorGenConv2dSep_h
00010 #define HxImgFtorGenConv2dSep_h
00011 
00012 #include "HxSizes.h"
00013 #include "HxImgFtorGenConv2dSepKey.h"
00014 #include "HxImgFtorI4Cast.h"
00015 
00016 #include "HxTagList.h"
00017 
00018 
00032 template <class DstImgSigT, class SrcImgSigT, class KerImgSigT,
00033     class PixOpT, class RedOpT, class KernelT>
00034 class L_HXIMAGEREP HxImgFtorGenConv2dSep
00035     : public HxImgFtorI4Cast<DstImgSigT, SrcImgSigT, KerImgSigT, KerImgSigT>
00036 {
00037 public:
00038 
00040     typedef HxImgFtorGenConv2dSepKey   KeyType;
00041 
00043                     HxImgFtorGenConv2dSep();
00044 
00046     virtual         ~HxImgFtorGenConv2dSep();
00047 
00048 protected:
00049 
00060     virtual void    doIt(Img1DataPtrType dstPtr, Img2DataPtrType srcPtr,
00061                         Img3DataPtrType ker1Ptr, Img4DataPtrType ker2Ptr,
00062                         HxSizes dstSize, HxSizes srcSize,
00063                         HxSizes ker1Size, HxSizes ker2Size,
00064                         HxTagList &tags, HxImgFtorDescription* description = 0);
00065 
00066 private:
00067                         HxImgFtorGenConv2dSep(const HxImgFtorGenConv2dSep&);
00068 };
00069 
00070 #ifdef INC_TEMPLATE_SRC
00071 #include "HxImgFtorGenConv2dSep.c"
00072 #endif
00073 
00074 #endif