Documentation>C API
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.
 
VlDsiftFiltervl_dsift_new (int imWidth, int imHeight)
 Create a new DSIFT filter.
 
VlDsiftFiltervl_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()

static void _vl_dsift_alloc_buffers ( VlDsiftFilter * self)
static
Parameters
selfDSIFT filter.

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

◆ _vl_dsift_free_buffers()

static void _vl_dsift_free_buffers ( VlDsiftFilter * self)
static
Parameters
selfDSIFT filter.

◆ _vl_dsift_new_kernel()

float * _vl_dsift_new_kernel ( int binSize,
int numBins,
int binIndex,
double windowSize )
Parameters
binSize
numBins
binIndexnegative 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
beginfirst element of the histogram.
endlast 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
selfDSIFT filter object.

◆ _vl_dsift_with_gaussian_window()

void _vl_dsift_with_gaussian_window ( VlDsiftFilter * self)
inline
Parameters
selfDSIFT filter.

◆ vl_dsift_delete()

void vl_dsift_delete ( VlDsiftFilter * self)
Parameters
selfDSIFT filter.

◆ vl_dsift_new()

VlDsiftFilter * vl_dsift_new ( int imWidth,
int imHeight )
Parameters
imWidthwidth of the image.
imHeightheight of the image
Returns
new filter.

◆ vl_dsift_new_basic()

VlDsiftFilter * vl_dsift_new_basic ( int imWidth,
int imHeight,
int step,
int binSize )
Parameters
imWidthwidth of the image.
imHeightheight of the image.
stepsampling step.
binSizebin 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
selfDSIFT filter.
imimage data.