Documentation>C API
Functions
homkermap.c File Reference

Homogeneous kernel map - Definition. More...

`#include "homkermap.h"`
`#include "mathop.h"`
`#include <math.h>`
`#include "homkermap.c"`
`#include "float.th"`

## Functions

double | vl_homogeneouskernelmap_get_spectrum (VlHomogeneousKernelMap const *self, double omega)
| Sample the kernel specturm. More...
double | vl_homogeneouskernelmap_get_smooth_spectrum (VlHomogeneousKernelMap const *self, double omega)
| Sample the smoothed kernel spectrum. More...
VlHomogeneousKernelMap * | vl_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...
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

## Function Documentation

## ◆ vl_homogeneouskernelmap_delete()

void vl_homogeneouskernelmap_delete | ( | VlHomogeneousKernelMap * | self | ) |

Parameters

  self | object. The function deletes the specified map object.

## ◆ vl_homogeneouskernelmap_get_dimension()

vl_size vl_homogeneouskernelmap_get_dimension | ( | VlHomogeneousKernelMap const * | self | ) |

Parameters

  self | object.

Returns
  the map dimension (2 `order` +1).

## ◆ vl_homogeneouskernelmap_get_kernel_type()

VlHomogeneousKernelType vl_homogeneouskernelmap_get_kernel_type | ( | VlHomogeneousKernelMap const * | self | ) |

Parameters

  self | object.

Returns
  kernel type.

## ◆ vl_homogeneouskernelmap_get_order()

vl_size vl_homogeneouskernelmap_get_order | ( | VlHomogeneousKernelMap const * | self | ) |

Parameters

  self | object.

Returns
  the map order.

## ◆ vl_homogeneouskernelmap_get_smooth_spectrum()

double vl_homogeneouskernelmap_get_smooth_spectrum | ( | VlHomogeneousKernelMap const * | self,
|  | double | omega
| ) |  |

inline

Parameters

  self | homogeneous kernel map.
  omega | sampling frequency.

Returns
  the spectrum sampled at omega after smoothing.

## ◆ vl_homogeneouskernelmap_get_spectrum()

double vl_homogeneouskernelmap_get_spectrum | ( | VlHomogeneousKernelMap const * | self,
|  | double | omega
| ) |  |

inline

Parameters

  self | homogeneous kernel map.
  omega | sampling frequency.

Returns
  the spectrum sampled at omega.

## ◆ vl_homogeneouskernelmap_get_window_type()

VlHomogeneousKernelMapWindowType vl_homogeneouskernelmap_get_window_type | ( | VlHomogeneousKernelMap const * | self | ) |

Parameters

  self | object.

Returns
  window type.

## ◆ vl_homogeneouskernelmap_new()

VlHomogeneousKernelMap* vl_homogeneouskernelmap_new | ( | VlHomogeneousKernelType | kernelType,
|  | double | gamma,
|  | vl_size | order,
|  | double | period,
|  | VlHomogeneousKernelMapWindowType | windowType
| ) |  |

Parameters

  kernelType | type of homogeneous kernel.
  gamma | kernel homogeneity degree.
  order | approximation order.
  period | kernel period.
  windowType | type 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.