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

| Public Types | |
| typedef HxImgFtorGenConvK1dKey | KeyType | 
| The key type of this class. More... | |
| Public Methods | |
| HxImgFtorGenConv3dK1d () | |
| Constructor. More... | |
| virtual | ~HxImgFtorGenConv3dK1d () | 
| Destructor. More... | |
| Protected Methods | |
| virtual void | doIt (Img1DataPtrType dstPtr, Img2DataPtrType srcPtr, Img3DataPtrType kerPtr, HxSizes dstSize, HxSizes srcSize, HxSizes kerSize, HxTagList &tags, HxImgFtorDescription *description=0) | 
| Do it. More... | |
Template parameters:
| 
 | |||||
| The key type of this class. 
 Reimplemented from HxImgFtorI3Cast. | 
| 
 | |||||||||
| Constructor. 
 
 00033 : HxImgFtorI3Cast<DstImgSigT, SrcImgSigT, KerImgSigT>( 00034 HxImgFtorGenConvK1dKey( 00035 HxClassName<DstImgSigT>(), HxClassName<SrcImgSigT>(), 00036 HxClassName<KerImgSigT>(), 00037 HxClassName<PixOpT>(), HxClassName<RedOpT>(), 00038 HxClassName<KernelT>())) 00039 { 00040 #ifdef CD_TRACE 00041 HxEnvironment::instance()->outputStream() 00042 << "HxImgFtorGenConv3dK1d::HxImgFtorGenConv3dK1d()" << STD_ENDL; 00043 #endif 00044 } | 
| 
 | |||||||||
| Destructor. 
 
 00051 {
00052 #ifdef CD_TRACE
00053     HxEnvironment::instance()->outputStream()
00054         << "HxImgFtorGenConv3dK1d::~HxImgFtorGenConv3dK1d()" << STD_ENDL;
00055 #endif
00056 }
 | 
| 
 | ||||||||||||||||||||||||||||||||||||||||
| Do it. 
 
 Reimplemented from HxImgFtorI3Cast. 
 00068 {
00069     int dimension = HxGetTag<int>(tags, "dimension");
00070 
00071     HxSizes borderSize = HxGetTag(tags, "borderSize", HxSizes(0,0,0));
00072     int borderWidth = borderSize.x();
00073     int borderHeight = borderSize.y();
00074     int borderDepth = borderSize.z();
00075     int kerWidth = kerSize.x();
00076     if (dimension == 1) {
00077         if (borderWidth == 0)
00078             borderWidth = kerWidth / 2;
00079         srcPtr.incXYZ(0, borderHeight, borderDepth);
00080     }
00081     if (dimension == 2) {
00082         if (borderHeight == 0)
00083             borderHeight = kerWidth / 2;
00084         srcPtr.incXYZ(borderWidth, 0, borderDepth);
00085     }
00086     if (dimension == 3) {
00087         if (borderDepth == 0)
00088             borderDepth = kerWidth / 2;
00089         srcPtr.incXYZ(borderWidth, borderHeight, 0);
00090     }
00091 
00092     PixOpT pixOp(tags);
00093     RedOpT redOp(tags);
00094     KernelT kernel(kerPtr, kerSize, tags);
00095 
00096     HxFuncGenConv3dK1dDispatch(dstPtr, srcPtr, kernel, dstSize,
00097                                pixOp, redOp, dimension);
00098 }
 | 
 1.2.12 written by Dimitri van Heesch,
 © 1997-2001
1.2.12 written by Dimitri van Heesch,
 © 1997-2001