Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxMfKernelNgb Class Reference

Class definition of a method frame for neighbourhood operations using a kernel. More...

#include <HxMfKernelNgb.h>

List of all members.

Public Methods

 HxMfKernelNgb (HxImageData *source, HxImageData *kernel, HxString ngbName, HxTagList &tags)
 Constructor. More...

 ~HxMfKernelNgb ()
 Destructor. More...

HxImageDatasource () const
 The source image of the frame. More...

HxImageDatakernel () const
 The kernel image of the frame. More...

HxImageDataresult () const
 The result image of the frame. More...

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


Detailed Description

Class definition of a method frame for neighbourhood operations using a kernel.


Constructor & Destructor Documentation

HxMfKernelNgb::HxMfKernelNgb HxImageData   srcImg,
HxImageData   kernel,
HxString    ngbName,
HxTagList   tags
 

Constructor.

A result image will be allocated with the same size as the source image. The registry will be queried for the result type. The registry will also be queried for the kernel type. If necessary the kernel image will be converted to this type.

00021     : _source(srcImg), _kernel(kernel), _result(0),
00022         _tmpKernel(0), _preOpIsOk(true)
00023 {
00024     if (!_source || !_kernel)
00025     {
00026         _preOpIsOk = false;
00027         return;
00028     }
00029 
00030     HxImageSignature srcSig(_source->signature());
00031 
00032     HxImageSignature resultSig
00033         = HxImgFtorRuleBase::instance().getResultType(
00034             srcSig, "kernelNgb", srcSig.toString(), ngbName);
00035 
00036     HxImageSignature kernelSig
00037         = HxImgFtorRuleBase::instance().getKernelType(
00038             _kernel->signature(), "kernelNgb", srcSig.toString(), ngbName);
00039 
00040     _result = HxImgDataFactory::instance().makeImage(resultSig, srcImg->sizes());
00041 
00042     if (kernelSig != _kernel->signature())
00043     {
00044         _tmpKernel = HxImgDataFactory::instance().makeImage(
00045             kernelSig, _kernel->sizes());
00046         _tmpKernel->setPartImage(_kernel);
00047         _tmpKernel->weight(_kernel->weight().x());
00048         _kernel = _tmpKernel;
00049     }
00050 }

HxMfKernelNgb::~HxMfKernelNgb  
 

Destructor.

00053 {
00054     if (_tmpKernel)
00055         delete _tmpKernel;
00056 }


Member Function Documentation

HxImageData * HxMfKernelNgb::source   const
 

The source image of the frame.

00060 { 
00061     return _source; 
00062 }

HxImageData * HxMfKernelNgb::kernel   const
 

The kernel image of the frame.

00066 { 
00067     return _kernel; 
00068 }

HxImageData * HxMfKernelNgb::result   const
 

The result image of the frame.

00072 { 
00073     return _result; 
00074 }

bool HxMfKernelNgb::preOpIsOk   const [inline]
 

Indicates whether initialization was OK.

00060 {
00061     return _preOpIsOk;
00062 }


The documentation for this class was generated from the following files:
Generated on Tue Jan 8 13:59:33 2002 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001