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

Public Types | |
| typedef HxImgFtorKernelNgbKey | KeyType |
| The key type of this class. More... | |
Public Methods | |
| HxImgFtorKernelNgb2d () | |
| Constructor. More... | |
| virtual | ~HxImgFtorKernelNgb2d () |
| Destructor. More... | |
| virtual bool | probeOp (HxTagList &tags) const |
| Probe for border size. 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.
00023 : HxImgFtorI3Cast<DstImgSigT, SrcImgSigT, KerImgSigT>( 00024 HxImgFtorKernelNgbKey( 00025 HxClassName<DstImgSigT>(), HxClassName<SrcImgSigT>(), 00026 HxClassName<KerImgSigT>(), HxClassName<NgbT>())) 00027 { 00028 HxImgFtorRuleBase::instance().setResultType( 00029 HxClassName<DstImgSigT>(), "kernelNgb", 00030 HxClassName<SrcImgSigT>(), HxClassName<NgbT>()); 00031 HxImgFtorRuleBase::instance().setKernelType( 00032 HxClassName<KerImgSigT>(), "kernelNgb", 00033 HxClassName<SrcImgSigT>(), HxClassName<NgbT>()); 00034 } |
|
|||||||||
|
Destructor.
00039 {
00040 }
|
|
||||||||||
|
Probe for border size.
Reimplemented from HxImgFunctor.
|
|
||||||||||||||||||||||||||||||||||||||||
|
Do it.
Reimplemented from HxImgFtorI3Cast.
00062 {
00063 typedef HxKernel2d<Img3DataPtrType, typename KerImgSigT::ArithType> KernelType;
00064
00065 NgbT ngb(tags);
00066 KernelType kernel(kerPtr, kerSize, tags);
00067
00068 if (description) {
00069 HxString v(typename NgbT::IteratorCategory().toString());
00070 v += ", ";
00071 v += typename NgbT::PhaseCategory().toString();
00072 description->setVariation(v);
00073 }
00074
00075 if (kerSize.inf(ngb.size()) != kerSize) {
00076 HxEnvironment::instance()->errorStream()
00077 << "HxImgFtorKernelNgb2d: kernel larger than neighbourhood"
00078 << STD_ENDL;
00079 HxEnvironment::instance()->flush();
00080 return;
00081 }
00082
00083 HxFuncKernelNgbOp2dDispatch(dstPtr, srcPtr, dstSize, ngb, kernel);
00084 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001