Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's 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.

A result image will be allocated with the same size as the source image. The type of the result image is obtained from the HxImgFtorRuleBase via

resulttype of kernelNgb<source,ngbName>

The required type for the kernel is obtained via

kerneltype of kernelNgb<source,ngbName>


Constructor & Destructor Documentation

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

Constructor.

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.

00064 {
00065     return _preOpIsOk;
00066 }


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