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

HxMfGenConv Class Reference

Class definition of method frame for generalized convolution operations. More...

#include <HxMfGenConv.h>

List of all members.

Public Methods

 HxMfGenConv (HxImageData *source, HxImageData *kernel, HxImageRep::ResultPrecision resPrec, bool is1dConv=false)
 Constructor. More...

 HxMfGenConv (HxImageData *source, HxImageData *kernel, HxImageData *kernel2, HxImageRep::ResultPrecision resPrec, bool is1dConv=false)
 Constructor. More...

 HxMfGenConv (HxImageData *source, HxImageData *kernel, HxImageData *kernel2, HxImageData *kernel3, HxImageRep::ResultPrecision resPrec, bool is1dConv=false)
 Constructor. More...

 ~HxMfGenConv ()
 Destructor. More...

HxImageData * source () const
 The source image of the frame. More...

HxImageData * kernel () const
 The kernel image of the frame. More...

HxImageData * kernel2 () const
 The second kernel image of the frame. More...

HxImageData * kernel3 () const
 The third kernel image of the frame. More...

HxImageData * result () const
 The result image of the frame. More...

bool preOpIsOk () const
 Indicates whether initialization was OK. More...


Detailed Description

Class definition of method frame for generalized convolution operations.

The method frame tries to satisfy the general rules set out for generalized convolutions. If this is not possible, preOpOk() will return false.

If is1dConv is false, the kernel should have the same dimensionality as the image, otherwise preOpOk() will return false.

If necessary the type of the kernel will be converted according to the following rules:

1) The kernel type signature must be equal or broader than the source type signature.
2a) If the kernel has an integral pixel type its pixel precision will be that of int.
2b) If the kernel has a real pixel type its pixel precision will be that of double.

The type of the result image will be set according to the specified precision:

Note that the actual convolution will be performed in the precision of the kernel type after conversion. After that, the result is written to the output image


Constructor & Destructor Documentation

HxMfGenConv::HxMfGenConv (  HxImageData *    source,
HxImageData *    kernel,
HxImageRep::ResultPrecision    resPrec,
bool    is1dConv = false
) 
 

Constructor.

00021     :   _preOpIsOk(true), _source(source), 
00022         _kernel(kernel), _tmpKernel(0), _kernel2(0), _tmpKernel2(0),
00023         _kernel3(0), _tmpKernel3(0)
00024 {
00025     initMethodFrame(resPrec, is1dConv);
00026 }

HxMfGenConv::HxMfGenConv (  HxImageData *    source,
HxImageData *    kernel,
HxImageData *    kernel2,
HxImageRep::ResultPrecision    resPrec,
bool    is1dConv = false
) 
 

Constructor.

00031     :   _preOpIsOk(true), _source(source), 
00032         _kernel(kernel), _tmpKernel(0), _kernel2(kernel2), _tmpKernel2(0),
00033         _kernel3(0), _tmpKernel3(0)
00034 {
00035     initMethodFrame(resPrec, is1dConv);
00036 }

HxMfGenConv::HxMfGenConv (  HxImageData *    source,
HxImageData *    kernel,
HxImageData *    kernel2,
HxImageData *    kernel3,
HxImageRep::ResultPrecision    resPrec,
bool    is1dConv = false
) 
 

Constructor.

00042     :   _preOpIsOk(true), _source(source), 
00043         _kernel(kernel), _tmpKernel(0), _kernel2(kernel2), _tmpKernel2(0),
00044         _kernel3(kernel3), _tmpKernel3(0)
00045 {
00046     initMethodFrame(resPrec, is1dConv);
00047 }

HxMfGenConv::~HxMfGenConv (    ) 
 

Destructor.

00050 {
00051     if (_tmpKernel) 
00052         delete _tmpKernel;
00053     if (_tmpKernel2) 
00054         delete _tmpKernel2;
00055     if (_tmpKernel3) 
00056         delete _tmpKernel3;
00057 }


Member Function Documentation

HxImageData * HxMfGenConv::source (    )  const
 

The source image of the frame.

00061 { 
00062     return _source; 
00063 }

HxImageData * HxMfGenConv::kernel (    )  const
 

The kernel image of the frame.

00067 { 
00068     return _kernel; 
00069 }

HxImageData * HxMfGenConv::kernel2 (    )  const
 

The second kernel image of the frame.

00073 { 
00074     return _kernel2; 
00075 }

HxImageData * HxMfGenConv::kernel3 (    )  const
 

The third kernel image of the frame.

00079 { 
00080     return _kernel3; 
00081 }

HxImageData * HxMfGenConv::result (    )  const
 

The result image of the frame.

00085 {
00086     return _result; 
00087 }

bool HxMfGenConv::preOpIsOk (    )  const [inline]
 

Indicates whether initialization was OK.

00120 {
00121     return _preOpIsOk;
00122 }


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