Documentation - C API
homkermap.h File Reference

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

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

Data Structures

struct  VlHomogeneousKernelMap
 Homogeneous kernel map. More...

Enumerations

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

Functions

VlHomogeneousKernelMapvl_homogeneouskernelmap_new (VlHomogeneousKernelType kernelType, double gamma, vl_size order, double period, VlHomogeneousKernelMapWindowType windowType)
 Create a new homgeneous kernel map.
void vl_homogeneouskernelmap_delete (VlHomogeneousKernelMap *self)
 Delete a map object.
void vl_homogeneouskernelmap_evaluate_d (VlHomogeneousKernelMap const *self, double *destination, vl_size stride, double x)
 Evaluate map.
void vl_homogeneouskernelmap_evaluate_f (VlHomogeneousKernelMap const *self, float *destination, vl_size stride, double x)
 Evaluate map.

Detailed Description

Author:
Andrea Vedaldi

Enumeration Type Documentation

Enumerator:
VlHomogeneousKernelMapWindowUniform 

uniform window

VlHomogeneousKernelMapWindowRectangular 

rectangular window

Enumerator:
VlHomogeneousKernelIntersection 

intersection kernel

VlHomogeneousKernelChi2 

Chi2 kernel

VlHomogeneousKernelJS 

Jensen-Shannon kernel


Function Documentation

void vl_homogeneouskernelmap_delete ( VlHomogeneousKernelMap self)
Parameters:
selfmap object. The function deletes the specified map object.
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 ( 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], ....

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 Overview 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.