Documentation>C API
homkermap.h File Reference

Homogeneous kernel map (Homogeneous kernel map) More...

#include "generic.h"
#include <math.h>

Typedefs

typedef OPAQUE VlHomogeneousKernelMap
 Homogeneous kernel map object.
 

Enumerations

enum  VlHomogeneousKernelType { VlHomogeneousKernelIntersection = 0, VlHomogeneousKernelChi2, VlHomogeneousKernelJS }
 Type of kernel. More...
 
enum  VlHomogeneousKernelMapWindowType { VlHomogeneousKernelMapWindowUniform = 0, VlHomogeneousKernelMapWindowRectangular = 1 }
 Type of spectral windowing function. More...
 

Functions

Create and destroy
VlHomogeneousKernelMapvl_homogeneouskernelmap_new (VlHomogeneousKernelType kernelType, double gamma, vl_size order, double period, VlHomogeneousKernelMapWindowType windowType)
 Create a new homgeneous kernel map. More...
 
void vl_homogeneouskernelmap_delete (VlHomogeneousKernelMap *self)
 Delete an object instance. More...
 
Process data
void vl_homogeneouskernelmap_evaluate_d (VlHomogeneousKernelMap const *self, double *destination, vl_size stride, double x)
 Evaluate map. More...
 
void vl_homogeneouskernelmap_evaluate_f (VlHomogeneousKernelMap const *self, float *destination, vl_size stride, double x)
 
Retrieve data and parameters
vl_size vl_homogeneouskernelmap_get_order (VlHomogeneousKernelMap const *self)
 Get the map order. More...
 
vl_size vl_homogeneouskernelmap_get_dimension (VlHomogeneousKernelMap const *self)
 Get the map dimension. More...
 
VlHomogeneousKernelType vl_homogeneouskernelmap_get_kernel_type (VlHomogeneousKernelMap const *self)
 Get the kernel type. More...
 
VlHomogeneousKernelMapWindowType vl_homogeneouskernelmap_get_window_type (VlHomogeneousKernelMap const *self)
 Get the window type. More...
 

Detailed Description

Author
Andrea Vedaldi

Enumeration Type Documentation

◆ VlHomogeneousKernelMapWindowType

Enumerator
VlHomogeneousKernelMapWindowUniform 

uniform window

VlHomogeneousKernelMapWindowRectangular 

rectangular window

◆ VlHomogeneousKernelType

Enumerator
VlHomogeneousKernelIntersection 

intersection kernel

VlHomogeneousKernelChi2 

Chi2 kernel

VlHomogeneousKernelJS 

Jensen-Shannon kernel

Function Documentation

◆ vl_homogeneouskernelmap_delete()

void vl_homogeneouskernelmap_delete ( VlHomogeneousKernelMap self)
Parameters
selfobject. The function deletes the specified map object.

◆ vl_homogeneouskernelmap_evaluate_d()

vl_homogeneouskernelmap_evaluate_d ( VlHomogeneousKernelMap const *  self,
double *  destination,
vl_size  stride,
double  x 
)
Parameters
selfmap object.
destinationoutput buffer.
stridestride of the output buffer.
xvalue to expand.

The function evaluates the feature map on x and stores the resulting 2*order+1 dimensional vector to destination[0], destination[stride], destination[2*stride], ....

◆ vl_homogeneouskernelmap_evaluate_f()

vl_homogeneouskernelmap_evaluate_f ( VlHomogeneousKernelMap const *  self,
float *  destination,
vl_size  stride,
double  x 
)
Parameters
selfmap object.
destinationoutput buffer.
stridestride of the output buffer.
xvalue to expand.

The function evaluates the feature map on x and stores the resulting 2*order+1 dimensional vector to destination[0], destination[stride], destination[2*stride], ....

◆ vl_homogeneouskernelmap_get_dimension()

vl_size vl_homogeneouskernelmap_get_dimension ( VlHomogeneousKernelMap const *  self)
Parameters
selfobject.
Returns
the map dimension (2 order +1).

◆ vl_homogeneouskernelmap_get_kernel_type()

VlHomogeneousKernelType vl_homogeneouskernelmap_get_kernel_type ( VlHomogeneousKernelMap const *  self)
Parameters
selfobject.
Returns
kernel type.

◆ vl_homogeneouskernelmap_get_order()

vl_size vl_homogeneouskernelmap_get_order ( VlHomogeneousKernelMap const *  self)
Parameters
selfobject.
Returns
the map order.

◆ vl_homogeneouskernelmap_get_window_type()

VlHomogeneousKernelMapWindowType vl_homogeneouskernelmap_get_window_type ( VlHomogeneousKernelMap const *  self)
Parameters
selfobject.
Returns
window type.

◆ vl_homogeneouskernelmap_new()

VlHomogeneousKernelMap* vl_homogeneouskernelmap_new ( VlHomogeneousKernelType  kernelType,
double  gamma,
vl_size  order,
double  period,
VlHomogeneousKernelMapWindowType  windowType 
)
Parameters
kernelTypetype of homogeneous kernel.
gammakernel homogeneity degree.
orderapproximation order.
periodkernel period.
windowTypetype of window used to truncate the kernel.
Returns
the new homogeneous kernel map.

The function intializes a new homogeneous kernel map for the specified kernel type, homogeneity degree, approximation order, period, and truncation window. See Fundamentals for details.

The homogeneity degree gamma must be positive (the standard kernels are obtained by setting gamma to 1). When unsure, set windowType to VlHomogeneousKernelMapWindowRectangular. The period should be non-negative; specifying a negative or null value causes the function to switch to a default value.

The function returns NULL if there is not enough free memory.