#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 } |