Documentation>C API
Functions
dsift.c File Reference

Dense SIFT - Definition. More...

`#include "dsift.h"`
`#include "pgm.h"`
`#include "mathop.h"`
`#include "imopv.h"`
`#include <math.h>`
`#include <string.h>`

## Functions

float * | _vl_dsift_new_kernel (int binSize, int numBins, int binIndex, double windowSize)
| Initialize new convolution kernel.
float | _vl_dsift_normalize_histogram (float *begin, float *end)
| Normalize histogram.
static void | _vl_dsift_free_buffers (VlDsiftFilter *self)
| Free internal buffers.
void | _vl_dsift_update_buffers (VlDsiftFilter *self)
| Updates internal buffers to current geometry.
static void | _vl_dsift_alloc_buffers (VlDsiftFilter *self)
| Allocate internal buffers.
VlDsiftFilter * | vl_dsift_new (int imWidth, int imHeight)
| Create a new DSIFT filter.
VlDsiftFilter * | vl_dsift_new_basic (int imWidth, int imHeight, int step, int binSize)
| Create a new DSIFT filter (basic interface).
void | vl_dsift_delete (VlDsiftFilter *self)
| Delete DSIFT filter.
void | _vl_dsift_with_gaussian_window (VlDsiftFilter *self)
| Process with Gaussian window.
void | _vl_dsift_with_flat_window (VlDsiftFilter *self)
| Process with flat window.
void | vl_dsift_process (VlDsiftFilter *self, float const *im)
| Compute keypoints and descriptors.

## Detailed Description

Author
  Andrea Vedaldi
  Brian Fulkerson

## Function Documentation

## ◆ _vl_dsift_alloc_buffers()

void _vl_dsift_alloc_buffers | ( | VlDsiftFilter * | self | ) |

static

Parameters

  self | DSIFT filter.

The function (re)allocates the internal buffers in accordance with the current image and descriptor geometry.

## ◆ _vl_dsift_free_buffers()

void _vl_dsift_free_buffers | ( | VlDsiftFilter * | self | ) |

static

Parameters

  self | DSIFT filter.

## ◆ _vl_dsift_new_kernel()

float * _vl_dsift_new_kernel | ( | int | binSize,
|  | int | numBins,
|  | int | binIndex,
|  | double | windowSize )

Parameters

  binSize |
  numBins |
  binIndex | negative to use flat window.
  windowSize |

Returns
  a pointer to new filter.

## ◆ _vl_dsift_normalize_histogram()

float _vl_dsift_normalize_histogram | ( | float * | begin,
|  | float * | end )

inline

Parameters

  begin | first element of the histogram.
  end | last plus one element of the histogram.

The function divides the specified histogram by its l2 norm.

## ◆ _vl_dsift_update_buffers()

void _vl_dsift_update_buffers | ( | VlDsiftFilter * | self | ) |

## ◆ _vl_dsift_with_flat_window()

void _vl_dsift_with_flat_window | ( | VlDsiftFilter * | self | ) |

inline

Parameters

  self | DSIFT filter object.

## ◆ _vl_dsift_with_gaussian_window()

void _vl_dsift_with_gaussian_window | ( | VlDsiftFilter * | self | ) |

inline

Parameters

  self | DSIFT filter.

## ◆ vl_dsift_delete()

void vl_dsift_delete | ( | VlDsiftFilter * | self | ) |

Parameters

  self | DSIFT filter.

## ◆ vl_dsift_new()

VlDsiftFilter * vl_dsift_new | ( | int | imWidth,
|  | int | imHeight )

Parameters

  imWidth | width of the image.
  imHeight | height of the image

Returns
  new filter.

## ◆ vl_dsift_new_basic()

VlDsiftFilter * vl_dsift_new_basic | ( | int | imWidth,
|  | int | imHeight,
|  | int | step,
|  | int | binSize )

Parameters

  imWidth | width of the image.
  imHeight | height of the image.
  step | sampling step.
  binSize | bin size.

Returns
  new filter.

The descriptor geometry matches the standard SIFT descriptor.

## ◆ vl_dsift_process()

void vl_dsift_process | ( | VlDsiftFilter * | self,
|  | float const * | im )

Parameters

  self | DSIFT filter.
  im | image data.