IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GaussianKernel.h
Go to the documentation of this file.
1 // GaussianKernel.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKBASEDATA_GAUSSIANKERNEL_H__
16 #define __IPSDKBASEDATA_GAUSSIANKERNEL_H__
17 
20 #include <IPSDKUtil/BaseTypes.h>
21 
22 namespace ipsdk {
23 
26 
40  const ipReal32 stdDevY,
41  const ipReal32 gaussianRatio,
42  const ipUInt32 minHalfKernelSize,
43  KernelXYPtr& pXAxisKernel,
44  KernelXYPtr& pYAxisKernel);
45 
61  const ipReal32 stdDevY,
62  const ipReal32 stdDevZ,
63  const ipReal32 gaussianRatio,
64  const ipUInt32 minHalfKernelSize,
65  KernelXYZPtr& pXAxisKernel,
66  KernelXYZPtr& pYAxisKernel,
67  KernelXYZPtr& pZAxisKernel);
68 
80  const ipReal32 stdDevY,
81  const ipReal32 gaussianRatio,
82  const ipUInt32 minHalfKernelSize,
83  KernelXYPtr& pXAxisKernel,
84  KernelXYPtr& pYAxisKernel);
85 
97  const ipReal32 stdDevY,
98  const ipReal32 stdDevZ,
99  const ipReal32 gaussianRatio,
100  const ipUInt32 minHalfKernelSize,
101  KernelXYZPtr& pXAxisKernel,
102  KernelXYZPtr& pYAxisKernel,
103  KernelXYZPtr& pZAxisKernel);
104 
116 separableGaussianHessian(const ipReal32 stdDevX,
117  const ipReal32 stdDevY,
118  const ipReal32 gaussianRatio,
119  const ipUInt32 minHalfKernelSize,
120  KernelXYPtr& pXAxisKernel,
121  KernelXYPtr& pYAxisKernel);
122 
134 separableGaussianHessian(const ipReal32 stdDevX,
135  const ipReal32 stdDevY,
136  const ipReal32 stdDevZ,
137  const ipReal32 gaussianRatio,
138  const ipUInt32 minHalfKernelSize,
139  KernelXYZPtr& pXAxisKernel,
140  KernelXYZPtr& pYAxisKernel,
141  KernelXYZPtr& pZAxisKernel);
142 
143 // -------------------------------------------------------------------------- //
144 // Oriented kernels
145 // -------------------------------------------------------------------------- //
146 
150  const ipReal32 sigmaX, const ipReal32 sigmaY,
151  const ipReal32 gaussianRatio, const ipUInt32 minHalfKernelSize,
152  KernelXYPtr& pKernelX, KernelXYPtr& pKernelY);
153 
155 createOrientedGaussianGradientKernel(const ipReal32 theta,
156  const ipReal32 sigmaX, const ipReal32 sigmaY,
157  const ipReal32 gaussianRatio, const ipUInt32 minHalfKernelSize,
158  KernelXYPtr& pKernelX, KernelXYPtr& pKernelY);
159 
160 
164 rotate2dKernel(const ipReal32 theta, const KernelXYConstPtr pKnl);
165 
168 
169 } // end of namespace ipsdk
170 
171 #endif // __IPSDKBASEDATA_GAUSSIANKERNEL_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKBASEDATA_API KernelXYPtr rotate2dKernel(const ipReal32 theta, const KernelXYConstPtr pKnl)
function allowing to create a rotated version of the input 2d kernel
boost::shared_ptr< KernelXYZ > KernelXYZPtr
shared pointer to KernelXYZ
Definition: KernelTypes.h:55
Definition of import/export macro for library.
Base types for multiplatform compatibility.
boost::shared_ptr< KernelXY > KernelXYPtr
shared pointer to KernelXY
Definition: KernelTypes.h:48
boost::shared_ptr< const KernelXY > KernelXYConstPtr
shared pointer to KernelXY
Definition: KernelTypes.h:49
IPSDKBASEDATA_API void separableGaussianGradient(const ipReal32 stdDevX, const ipReal32 stdDevY, const ipReal32 gaussianRatio, const ipUInt32 minHalfKernelSize, KernelXYPtr &pXAxisKernel, KernelXYPtr &pYAxisKernel)
function allowing to generate a separable 2d gaussian kernel used for gradient computation operation ...
Predefined types for kernel management.
IPSDKBASEDATA_API void createOrientedGaussianSmoothingKernel(const ipReal32 theta, const ipReal32 sigmaX, const ipReal32 sigmaY, const ipReal32 gaussianRatio, const ipUInt32 minHalfKernelSize, KernelXYPtr &pKernelX, KernelXYPtr &pKernelY)
function allowing to create an oriented Gaussian gradient 2d kernel
#define IPSDKBASEDATA_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKBaseDataExports.h:27
IPSDKBASEDATA_API void separableGaussianSmoothing(const ipReal32 stdDevX, const ipReal32 stdDevY, const ipReal32 gaussianRatio, const ipUInt32 minHalfKernelSize, KernelXYPtr &pXAxisKernel, KernelXYPtr &pYAxisKernel)
function allowing to generate a separable 2d gaussian kernel used for smoothing operation ...
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
IPSDKBASEDATA_API void separableGaussianHessian(const ipReal32 stdDevX, const ipReal32 stdDevY, const ipReal32 gaussianRatio, const ipUInt32 minHalfKernelSize, KernelXYPtr &pXAxisKernel, KernelXYPtr &pYAxisKernel)
function allowing to generate a separable 2d Hessian kernel used for Hessian computation operation ...
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53