Public Types | Public Member Functions | List of all members
iipr::CConvolutionKernel2d Class Reference

Implementation of a general 2D convolution kernel. More...

#include <CConvolutionKernel2d.h>

Inheritance diagram for iipr::CConvolutionKernel2d:
imath::CSampledFunction2d iipr::IConvolutionKernel2d imath::TISampledFunction< ArgumentDimensions, ResultDimensions > iser::ISerializable imath::TIMathFunction< istd::TIndex< ArgumentDimensions >, TVector< ResultDimensions > > istd::IChangeable istd::IChangeable istd::IPolymorphic istd::IPolymorphic istd::IPolymorphic iipr::CConvolutionKernel2dComp

Public Types

typedef imath::CSampledFunction2d BaseClass
 
- Public Types inherited from iipr::IConvolutionKernel2d
enum  SeparationType { ST_AUTO, ST_HOR_VERT }
 

Public Member Functions

 CConvolutionKernel2d ()
 
 CConvolutionKernel2d (const CConvolutionKernel2d &kernel)
 
 CConvolutionKernel2d (const imath::ISampledFunction2d &function2d)
 
 CConvolutionKernel2d (const istd::CIndex2d &kernelSize, double value=0)
 
double GetKernelDistance (const IConvolutionKernel2d &kernel) const
 
virtual istd::CIndex2d GetKernelSize () const
 Get size of this kernel. More...
 
virtual void SetKernelSize (const istd::CIndex2d &kernelSize, double value=0.0)
 Set size of this kernel. More...
 
virtual double GetKernelElement (const istd::CIndex2d &index) const
 Get kernel element value at the given position index. More...
 
virtual bool SetKernelElement (const istd::CIndex2d &index, double value)
 Set kernel element value at the given position index. More...
 
virtual double GetOffsetValue () const
 Get offset value will be added to convolution result. More...
 
virtual bool SetOffsetValue (double offset)
 Set offset value will be added to convolution result. More...
 
virtual bool GetCombinedKernel (const IConvolutionKernel2d &kernel, IConvolutionKernel2d &result) const
 Get some kernel beeing combination of this and some other kernel. More...
 
virtual bool TrySeparateKernels (IConvolutionKernel2d &result1, IConvolutionKernel2d &result2, int separationType=ST_AUTO, double tolerance=I_BIG_EPSILON) const
 Try separate this kernel into two separated kernels. More...
 
virtual bool Serialize (iser::IArchive &archive)
 
virtual quint32 GetMinimalVersion (int versionId) const
 
- Public Member Functions inherited from imath::TISampledFunction< ArgumentDimensions, ResultDimensions >
virtual bool CreateFunction (double *dataPtr, const ArgumentType &sizes)=0
 
virtual int GetTotalSamplesCount () const =0
 
virtual int GetGridSize (int dimensionIndex) const =0
 
virtual istd::CRange GetLogicalRange (int dimensionIndex) const =0
 
virtual istd::CRange GetResultValueRange (int dimensionIndex, int resultDimension=-1) const =0
 

Detailed Description

Implementation of a general 2D convolution kernel.

Internally the kernel is represented by an array of filter weights and offset positions for fast access to the corresponding bitmap values.

Definition at line 21 of file CConvolutionKernel2d.h.

Member Typedef Documentation

Definition at line 26 of file CConvolutionKernel2d.h.

Constructor & Destructor Documentation

iipr::CConvolutionKernel2d::CConvolutionKernel2d ( )
iipr::CConvolutionKernel2d::CConvolutionKernel2d ( const CConvolutionKernel2d kernel)
iipr::CConvolutionKernel2d::CConvolutionKernel2d ( const imath::ISampledFunction2d function2d)
explicit
iipr::CConvolutionKernel2d::CConvolutionKernel2d ( const istd::CIndex2d kernelSize,
double  value = 0 
)
explicit

Member Function Documentation

virtual bool iipr::CConvolutionKernel2d::GetCombinedKernel ( const IConvolutionKernel2d kernel,
IConvolutionKernel2d result 
) const
virtual

Get some kernel beeing combination of this and some other kernel.

Implements iipr::IConvolutionKernel2d.

double iipr::CConvolutionKernel2d::GetKernelDistance ( const IConvolutionKernel2d kernel) const
virtual double iipr::CConvolutionKernel2d::GetKernelElement ( const istd::CIndex2d index) const
virtual

Get kernel element value at the given position index.

Implements iipr::IConvolutionKernel2d.

virtual istd::CIndex2d iipr::CConvolutionKernel2d::GetKernelSize ( ) const
virtual

Get size of this kernel.

Implements iipr::IConvolutionKernel2d.

virtual quint32 iipr::CConvolutionKernel2d::GetMinimalVersion ( int  versionId) const
virtual
virtual double iipr::CConvolutionKernel2d::GetOffsetValue ( ) const
virtual

Get offset value will be added to convolution result.

Implements iipr::IConvolutionKernel2d.

virtual bool iipr::CConvolutionKernel2d::Serialize ( iser::IArchive archive)
virtual
virtual bool iipr::CConvolutionKernel2d::SetKernelElement ( const istd::CIndex2d index,
double  value 
)
virtual

Set kernel element value at the given position index.

The method returns true, if the value could be set and false otherwise.

Implements iipr::IConvolutionKernel2d.

virtual void iipr::CConvolutionKernel2d::SetKernelSize ( const istd::CIndex2d kernelSize,
double  value = 0.0 
)
virtual

Set size of this kernel.

It initialize all values to defined value.

Implements iipr::IConvolutionKernel2d.

virtual bool iipr::CConvolutionKernel2d::SetOffsetValue ( double  offset)
virtual

Set offset value will be added to convolution result.

Implements iipr::IConvolutionKernel2d.

virtual bool iipr::CConvolutionKernel2d::TrySeparateKernels ( IConvolutionKernel2d result1,
IConvolutionKernel2d result2,
int  separationType = ST_AUTO,
double  tolerance = I_BIG_EPSILON 
) const
virtual

Try separate this kernel into two separated kernels.

Implements iipr::IConvolutionKernel2d.


The documentation for this class was generated from the following file:

© 2007-2017 Witold Gantzke and Kirill Lepskiy