Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxImgFtorRecGenConv2dK1d Class Template Reference

Instantiation of generic algorithm for recursive generalized convolution on 2D images with a 1d kernel. More...

#include <HxImgFtorRecGenConv2dK1d.h>

Inheritance diagram for HxImgFtorRecGenConv2dK1d::

HxImgFtorI2Cast< ImgSigT, KerImgSigT > HxImgFtorI2 HxImgFunctor List of all members.

Public Types

typedef HxImgFtorRecGenConvK1dKey KeyType
 The key type of this class. More...


Public Methods

 HxImgFtorRecGenConv2dK1d ()
 Constructor. More...

virtual ~HxImgFtorRecGenConv2dK1d ()
 Destructor. More...


Protected Methods

virtual void doIt (Img1DataPtrType imgPtr, Img2DataPtrType kerPtr, HxSizes imgSize, HxSizes kerSize, HxTagList &tags, HxImgFtorDescription *description=0)
 Do it. More...


Detailed Description

template<class ImgSigT, class KerImgSigT, class PixOpT, class RedOpT>
class HxImgFtorRecGenConv2dK1d< ImgSigT, KerImgSigT, PixOpT, RedOpT >

Instantiation of generic algorithm for recursive generalized convolution on 2D images with a 1d kernel.

Template parameters:


Member Typedef Documentation

template<class ImgSigT, class KerImgSigT, class PixOpT, class RedOpT>
typedef HxImgFtorRecGenConvK1dKey HxImgFtorRecGenConv2dK1d::KeyType
 

The key type of this class.

Reimplemented from HxImgFtorI2Cast.


Constructor & Destructor Documentation

template<class ImgSigT, class KerImgSigT, class PixOpT, class RedOpT>
HxImgFtorRecGenConv2dK1d< ImgSigT, KerImgSigT, PixOpT, RedOpT >::HxImgFtorRecGenConv2dK1d  
 

Constructor.

00030         : HxImgFtorI2Cast<ImgSigT, KerImgSigT>(
00031             HxImgFtorRecGenConvK1dKey(
00032                 HxClassName<ImgSigT>(), HxClassName<KerImgSigT>(), 
00033                 HxClassName<PixOpT>(), HxClassName<RedOpT>()))
00034 {
00035 #ifdef CD_TRACE
00036     HxEnvironment::instance()->outputStream()
00037         << "HxImgFtorRecGenConv2dK1d::HxImgFtorRecGenConv2dK1d()" << STD_ENDL;
00038 #endif
00039 }

template<class ImgSigT, class KerImgSigT, class PixOpT, class RedOpT>
HxImgFtorRecGenConv2dK1d< ImgSigT, KerImgSigT, PixOpT, RedOpT >::~HxImgFtorRecGenConv2dK1d   [virtual]
 

Destructor.

00045 {
00046 #ifdef CD_TRACE
00047     HxEnvironment::instance()->outputStream()
00048         << "HxImgFtorRecGenConv2dK1d::~HxImgFtorRecGenConv2dK1d()" << STD_ENDL;
00049 #endif
00050 }


Member Function Documentation

template<class ImgSigT, class KerImgSigT, class PixOpT, class RedOpT>
void HxImgFtorRecGenConv2dK1d< ImgSigT, KerImgSigT, PixOpT, RedOpT >::doIt Img1DataPtrType    imgPtr,
Img2DataPtrType    kerPtr,
HxSizes    imgSize,
HxSizes    kerSize,
HxTagList   tags,
HxImgFtorDescription   description = 0
[protected, virtual]
 

Do it.

Parameters:
imgPtr  Input/Output image: IS = imgSize, IBS = taglist(borderSize)
kerPtr  Input image, IS = kerSize, IBS = 0
Calls HxFuncRecGenConv2dK1dDispatch to dispatch the actual work.

Reimplemented from HxImgFtorI2Cast.

00059 {
00060     int dimension = HxGetTag(tags, "dimension", 0);
00061     bool buffered = HxGetTag(tags, "buffered", false);
00062 
00063     if (buffered && description)
00064         description->setVariation("buffered");
00065 
00066     HxSizes borderSize = HxGetTag(tags, "borderSize", HxSizes(0,0,0));
00067     /*
00068     HxValue Lvalue = HxGetTag(tags, "LeftBorderValue", HxValue(0));
00069     HxValue Rvalue = HxGetTag(tags, "RightBorderValue", HxValue(0));
00070     HxValue Tvalue = HxGetTag(tags, "TopBorderValue", HxValue(0));
00071     HxValue Bvalue = HxGetTag(tags, "BottomBorderValue", HxValue(0));
00072     */
00073 
00074     PixOpT pixOp(tags);
00075     RedOpT redOp(tags);
00076 
00077     typedef typename KerImgSigT::ArithType ArithType;
00078     ArithType dummy;
00079     ArithType rValue = HxGetTag(tags, "RightBorderValue", HxValue(1));
00080     ArithType bValue = HxGetTag(tags, "BottomBorderValue", HxValue(1));
00081 
00082     HxFuncRecGenConv2dK1dDispatch(imgPtr, kerPtr, dummy, imgSize, borderSize,
00083                                   kerSize, pixOp, redOp, dimension, buffered,
00084                                   rValue, bValue);
00085 
00086 }


The documentation for this class was generated from the following files:
Generated on Tue Feb 3 14:19:00 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001