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

Detailed Description

Author
Andrea Vedaldi
Brian Fulkerson

Function Documentation

◆ _vl_dsift_update_buffers()

void _vl_dsift_update_buffers ( VlDsiftFilter self)

◆ vl_dsift_delete()

void vl_dsift_delete ( VlDsiftFilter self)
Parameters
selfDSIFT filter.

◆ vl_dsift_get_bounds()

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.

◆ vl_dsift_get_descriptor_size()

int vl_dsift_get_descriptor_size ( VlDsiftFilter const *  self)
inline
Parameters
selfDSIFT filter object.
Returns
size of a descriptor.

◆ vl_dsift_get_descriptors()

float const * vl_dsift_get_descriptors ( VlDsiftFilter const *  self)
inline
Parameters
selfDSIFT filter object.
Returns
descriptors.

◆ vl_dsift_get_flat_window()

int vl_dsift_get_flat_window ( VlDsiftFilter const *  self)
inline
Parameters
selfDSIFT filter object.
Returns
TRUE if the DSIFT filter uses a flat window.

◆ vl_dsift_get_geometry()

VlDsiftDescriptorGeometry const * vl_dsift_get_geometry ( VlDsiftFilter const *  self)
inline
Parameters
selfDSIFT filter object.
Returns
DSIFT descriptor geometry.

◆ vl_dsift_get_keypoint_num()

int vl_dsift_get_keypoint_num ( VlDsiftFilter const *  self)
inline
Parameters
selfDSIFT filter object.

◆ vl_dsift_get_keypoints()

VlDsiftKeypoint const * vl_dsift_get_keypoints ( VlDsiftFilter const *  self)
inline
Parameters
selfDSIFT filter object.

◆ vl_dsift_get_steps()

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.

◆ vl_dsift_get_window_size()

double vl_dsift_get_window_size ( VlDsiftFilter const *  self)
inline
Parameters
selfDSIFT filter object.
Returns
window size.

◆ 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.

◆ vl_dsift_set_bounds()

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.

◆ vl_dsift_set_flat_window()

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.

◆ vl_dsift_set_geometry()

void vl_dsift_set_geometry ( VlDsiftFilter self,
VlDsiftDescriptorGeometry const *  geom 
)
inline
Parameters
selfDSIFT filter object.
geomdescriptor geometry parameters.

◆ vl_dsift_set_steps()

void vl_dsift_set_steps ( VlDsiftFilter self,
int  stepX,
int  stepY 
)
inline
Parameters
selfDSIFT filter object.
stepXsampling step along X.
stepYsampling step along Y.

◆ vl_dsift_set_window_size()

void vl_dsift_set_window_size ( VlDsiftFilter self,
double  windowSize 
)
inline
Parameters
selfDSIFT filter object.
windowSizewindow size.

◆ vl_dsift_transpose_descriptor()

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)