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

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.

static void _vl_dsift_free_buffers ( VlDsiftFilter self)
static
Parameters:
selfDSIFT filter.
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.
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.

void _vl_dsift_update_buffers ( VlDsiftFilter self)
void _vl_dsift_with_flat_window ( VlDsiftFilter self)
inline
Parameters:
selfDSIFT filter object.
void _vl_dsift_with_gaussian_window ( VlDsiftFilter self)
inline
Parameters:
selfDSIFT filter.
void vl_dsift_delete ( VlDsiftFilter self)
Parameters:
selfDSIFT filter.
VlDsiftFilter* vl_dsift_new ( int  imWidth,
int  imHeight 
)
Parameters:
imWidthwidth of the image.
imHeightheight of the image
Returns:
new filter.
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.

void vl_dsift_process ( VlDsiftFilter self,
float const *  im 
)
Parameters:
selfDSIFT filter.
imimage data.