#include <HxImgFtorGenConv2dK1d.h>
Inheritance diagram for HxImgFtorGenConv2dK1d::

Public Types | |
| typedef HxImgFtorGenConvK1dKey | KeyType |
| The key type of this class. More... | |
| typedef SrcImgSigT::DataPtrType | SrcDataPtrType |
| The data pointer type of the source image. More... | |
| typedef KerImgSigT::DataPtrType | KerDataPtrType |
| The data pointer type of the kernel image. More... | |
Public Methods | |
| HxImgFtorGenConv2dK1d () | |
| Constructor. More... | |
| virtual | ~HxImgFtorGenConv2dK1d () |
| Destructor. More... | |
Protected Methods | |
| virtual void | doIt (DstDataPtrType dstPtr, SrcDataPtrType srcPtr, KerDataPtrType kerPtr, HxSizes dstSize, HxSizes srcSize, HxSizes kerSize, HxTagList &tags, HxImgFtorDescription *=0) |
| Calls convolutionX, convolutionY, convolutionXIp, or convolutionYIp to do the actual work based on the "dimension" and "inplace" tags. More... | |
| void | convolutionX (DstDataPtrType dstPtr, SrcDataPtrType srcPtr, KerDataPtrType kerPtr, HxSizes dstSize, HxSizes srcSize, HxSizes kerSize, HxTagList &tags) |
| void | convolutionY (DstDataPtrType dstPtr, SrcDataPtrType srcPtr, KerDataPtrType kerPtr, HxSizes dstSize, HxSizes srcSize, HxSizes kerSize, HxTagList &tags) |
| void | convolutionXIp (DstDataPtrType dstPtr, SrcDataPtrType srcPtr, KerDataPtrType kerPtr, HxSizes dstSize, HxSizes srcSize, HxSizes kerSize, HxTagList &tags) |
| void | convolutionYIp (DstDataPtrType dstPtr, SrcDataPtrType srcPtr, KerDataPtrType kerPtr, HxSizes dstSize, HxSizes srcSize, HxSizes kerSize, HxTagList &tags) |
|
|||||
|
The key type of this class.
Reimplemented from HxImgFtorI3Cast. |
|
|||||
|
The data pointer type of the source image.
|
|
|||||
|
The data pointer type of the kernel image.
|
|
|||||||||
|
Constructor.
00024 : HxImgFtorI3Cast<DstImgSigT, SrcImgSigT, KerImgSigT>( 00025 HxImgFtorGenConvK1dKey(HxClassName<DstImgSigT>(), 00026 HxClassName<SrcImgSigT>(), HxClassName<KerImgSigT>(), 00027 HxClassName<PixOpT>(), HxClassName<RedOpT>(), 00028 HxClassName<KernelT>())) 00029 { 00030 #ifdef CD_TRACE 00031 HxEnvironment::instance()->outputStream() 00032 << "HxImgFtorGenConv2dK1d::HxImgFtorGenConv2dK1d()" << STD_ENDL; 00033 #endif 00034 } |
|
|||||||||
|
Destructor.
00040 {
00041 #ifdef CD_TRACE
00042 HxEnvironment::instance()->outputStream()
00043 << "HxImgFtorGenConv2dK1d::~HxImgFtorGenConv2dK1d()" << STD_ENDL;
00044 #endif
00045 }
|
|
||||||||||||||||||||||||||||||||||||||||
|
Calls convolutionX, convolutionY, convolutionXIp, or convolutionYIp to do the actual work based on the "dimension" and "inplace" tags.
00056 {
00057 int dimension = HxGetTag<int>(tags, "dimension");
00058 bool inplace = HxGetTag(tags, "inplace", false);
00059
00060 if (inplace && description)
00061 description->setVariation("inplace");
00062
00063 switch (dimension) {
00064 case 1 :
00065 if (inplace)
00066 convolutionXIp(
00067 dstPtr, srcPtr, kerPtr, dstSize, srcSize, kerSize, tags);
00068 else
00069 convolutionX(
00070 dstPtr, srcPtr, kerPtr, dstSize, srcSize, kerSize, tags);
00071 break;
00072 case 2 :
00073 if (inplace)
00074 convolutionYIp(
00075 dstPtr, srcPtr, kerPtr, dstSize, srcSize, kerSize, tags);
00076 else
00077 convolutionY(
00078 dstPtr, srcPtr, kerPtr, dstSize, srcSize, kerSize, tags);
00079 break;
00080 default :
00081 HxEnvironment::instance()->errorStream()
00082 << "Generalized convolution (2d image, 1d kernel): "
00083 << "cannot execute convolution in dimension " << dimension
00084 << STD_ENDL;
00085 HxEnvironment::instance()->flush();
00086 }
00087 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001