Documentation - C API
dsift.h File Reference

Dense SIFT (Dense Scale Invariant Feature Transform (DSIFT)) More...

#include "generic.h"

Data Structures

struct  VlDsiftKeypoint
 Dense SIFT keypoint. More...
struct  VlDsiftDescriptorGeometry
 Dense SIFT descriptor geometry. More...
struct  VlDsiftFilter
 Dense SIFT filter. More...

Functions

VlDsiftFiltervl_dsift_new (int width, int height)
 Create a new DSIFT filter.
VlDsiftFiltervl_dsift_new_basic (int width, int height, int step, int binSize)
 Create a new DSIFT filter (basic interface)
void vl_dsift_delete (VlDsiftFilter *self)
 Delete DSIFT filter.
void vl_dsift_process (VlDsiftFilter *self, float const *im)
 Compute keypoints and descriptors.
void vl_dsift_transpose_descriptor (float *dst, float const *src, int numBinT, int numBinX, int numBinY)
 Transpose descriptor.
void _vl_dsift_update_buffers (VlDsiftFilter *self)
 Updates internal buffers to current geometry.
Setting parameters
void vl_dsift_set_steps (VlDsiftFilter *self, int stepX, int stepY)
 Set steps.
void vl_dsift_set_bounds (VlDsiftFilter *self, int minX, int minY, int maxX, int maxY)
 Set bounds.
void vl_dsift_set_geometry (VlDsiftFilter *self, VlDsiftDescriptorGeometry const *geom)
 Set SIFT descriptor geometry.
void vl_dsift_set_flat_window (VlDsiftFilter *self, vl_bool useFlatWindow)
 Set flat window flag.
void vl_dsift_set_window_size (VlDsiftFilter *self, double windowSize)
 Set SIFT descriptor Gaussian window size.
Retrieving data and parameters
float const * vl_dsift_get_descriptors (VlDsiftFilter const *self)
 Get descriptors.
int vl_dsift_get_descriptor_size (VlDsiftFilter const *self)
 Get descriptor size.
int vl_dsift_get_keypoint_num (VlDsiftFilter const *self)
 Get number of keypoints.
VlDsiftKeypoint const * vl_dsift_get_keypoints (VlDsiftFilter const *self)
 Get keypoints.
void vl_dsift_get_bounds (VlDsiftFilter const *self, int *minX, int *minY, int *maxX, int *maxY)
 Get bounds.
void vl_dsift_get_steps (VlDsiftFilter const *self, int *stepX, int *stepY)
 Get steps.
VlDsiftDescriptorGeometry const * vl_dsift_get_geometry (VlDsiftFilter const *self)
 Get SIFT descriptor geometry.
vl_bool vl_dsift_get_flat_window (VlDsiftFilter const *self)
 Get flat window flag.
double vl_dsift_get_window_size (VlDsiftFilter const *self)
 Get SIFT descriptor Gaussian window size.

Detailed Description

Author:
Andrea Vedaldi
Brian Fulkerson

Function Documentation

void _vl_dsift_update_buffers ( VlDsiftFilter self)
void vl_dsift_delete ( VlDsiftFilter self)
Parameters:
selfDSIFT filter.
void vl_dsift_get_bounds ( VlDsiftFilter const *  self,
int *  minX,
int *  minY,
int *  maxX,
int *  maxY 
)
inline
Parameters:
selfDSIFT filter object.
minXbounding box minimum X coordinate.
minYbounding box minimum Y coordinate.
maxXbounding box maximum X coordinate.
maxYbounding box maximum Y coordinate.
int vl_dsift_get_descriptor_size ( VlDsiftFilter const *  self)
inline
Parameters:
selfDSIFT filter object.
Returns:
size of a descriptor.
float const * vl_dsift_get_descriptors ( VlDsiftFilter const *  self)
inline
Parameters:
selfDSIFT filter object.
Returns:
descriptors.
int vl_dsift_get_flat_window ( VlDsiftFilter const *  self)
inline
Parameters:
selfDSIFT filter object.
Returns:
TRUE if the DSIFT filter uses a flat window.
VlDsiftDescriptorGeometry const * vl_dsift_get_geometry ( VlDsiftFilter const *  self)
inline
Parameters:
selfDSIFT filter object.
Returns:
DSIFT descriptor geometry.
int vl_dsift_get_keypoint_num ( VlDsiftFilter const *  self)
inline
Parameters:
selfDSIFT filter object.
VlDsiftKeypoint const * vl_dsift_get_keypoints ( VlDsiftFilter const *  self)
inline
Parameters:
selfDSIFT filter object.
void vl_dsift_get_steps ( VlDsiftFilter const *  self,
int *  stepX,
int *  stepY 
)
inline
Parameters:
selfDSIFT filter object.
stepXsampling step along X.
stepYsampling step along Y.
double vl_dsift_get_window_size ( VlDsiftFilter const *  self)
inline
Parameters:
selfDSIFT filter object.
Returns:
window size.
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.
void vl_dsift_set_bounds ( VlDsiftFilter self,
int  minX,
int  minY,
int  maxX,
int  maxY 
)
inline
Parameters:
selfDSIFT filter object.
minXbounding box minimum X coordinate.
minYbounding box minimum Y coordinate.
maxXbounding box maximum X coordinate.
maxYbounding box maximum Y coordinate.
void vl_dsift_set_flat_window ( VlDsiftFilter self,
vl_bool  useFlatWindow 
)
inline
Parameters:
selfDSIFT filter object.
useFlatWindowtrue if the DSIFT filter should use a flat window.
void vl_dsift_set_geometry ( VlDsiftFilter self,
VlDsiftDescriptorGeometry const *  geom 
)
inline
Parameters:
selfDSIFT filter object.
geomdescriptor geometry parameters.
void vl_dsift_set_steps ( VlDsiftFilter self,
int  stepX,
int  stepY 
)
inline
Parameters:
selfDSIFT filter object.
stepXsampling step along X.
stepYsampling step along Y.
void vl_dsift_set_window_size ( VlDsiftFilter self,
double  windowSize 
)
inline
Parameters:
selfDSIFT filter object.
windowSizewindow size.
void vl_dsift_transpose_descriptor ( float *  dst,
float const *  src,
int  numBinT,
int  numBinX,
int  numBinY 
)
inline
Parameters:
dstdestination buffer.
srcsource buffer.
numBinT
numBinX
numBinYThe function writes to dst the transpose of the SIFT descriptor src. Let I be an image. The transpose operator satisfies the equation transpose(dsift(I,x,y)) = dsift(transpose(I),y,x)