VLFeat - Documentation > C API

# VLFeat.org

Documentation> C API

- Main Page
- Related Pages
- Data Structures
- Files

- File List
- Globals

Data Structures | Functions
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

VlDsiftFilter * | vl_dsift_new (int width, int height)
| Create a new DSIFT filter. More...
VlDsiftFilter * | vl_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

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

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

Parameters

  self | DSIFT filter.

void vl_dsift_get_bounds | ( | VlDsiftFilter const * | self,
|  | int * | minX,
|  | int * | minY,
|  | int * | maxX,
|  | int * | maxY
| ) |  |

inline

Parameters

  self | DSIFT filter object.
  minX | bounding box minimum X coordinate.
  minY | bounding box minimum Y coordinate.
  maxX | bounding box maximum X coordinate.
  maxY | bounding box maximum Y coordinate.

int vl_dsift_get_descriptor_size | ( | VlDsiftFilter const * | self | ) |

inline

Parameters

  self | DSIFT filter object.

Returns
  size of a descriptor.

float const * vl_dsift_get_descriptors | ( | VlDsiftFilter const * | self | ) |

inline

Parameters

  self | DSIFT filter object.

Returns
  descriptors.

int vl_dsift_get_flat_window | ( | VlDsiftFilter const * | self | ) |

inline

Parameters

  self | DSIFT filter object.

Returns
  `TRUE` if the DSIFT filter uses a flat window.

VlDsiftDescriptorGeometry const * vl_dsift_get_geometry | ( | VlDsiftFilter const * | self | ) |

inline

Parameters

  self | DSIFT filter object.

Returns
  DSIFT descriptor geometry.

int vl_dsift_get_keypoint_num | ( | VlDsiftFilter const * | self | ) |

inline

Parameters

  self | DSIFT filter object.

VlDsiftKeypoint const * vl_dsift_get_keypoints | ( | VlDsiftFilter const * | self | ) |

inline

Parameters

  self | DSIFT filter object.

void vl_dsift_get_steps | ( | VlDsiftFilter const * | self,
|  | int * | stepX,
|  | int * | stepY
| ) |  |

inline

Parameters

  self | DSIFT filter object.
  stepX | sampling step along X.
  stepY | sampling step along Y.

double vl_dsift_get_window_size | ( | VlDsiftFilter const * | self | ) |

inline

Parameters

  self | DSIFT filter object.

Returns
  window size.

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

Parameters

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

Returns
  new filter.

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.

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

Parameters

  self | DSIFT filter.
  im | image data.

void vl_dsift_set_bounds | ( | VlDsiftFilter * | self,
|  | int | minX,
|  | int | minY,
|  | int | maxX,
|  | int | maxY
| ) |  |

inline

Parameters

  self | DSIFT filter object.
  minX | bounding box minimum X coordinate.
  minY | bounding box minimum Y coordinate.
  maxX | bounding box maximum X coordinate.
  maxY | bounding box maximum Y coordinate.

void vl_dsift_set_flat_window | ( | VlDsiftFilter * | self,
|  | vl_bool | useFlatWindow
| ) |  |

inline

Parameters

  self | DSIFT filter object.
  useFlatWindow | `true` if the DSIFT filter should use a flat window.

void vl_dsift_set_geometry | ( | VlDsiftFilter * | self,
|  | VlDsiftDescriptorGeometry const * | geom
| ) |  |

inline

Parameters

  self | DSIFT filter object.
  geom | descriptor geometry parameters.

void vl_dsift_set_steps | ( | VlDsiftFilter * | self,
|  | int | stepX,
|  | int | stepY
| ) |  |

inline

Parameters

  self | DSIFT filter object.
  stepX | sampling step along X.
  stepY | sampling step along Y.

void vl_dsift_set_window_size | ( | VlDsiftFilter * | self,
|  | double | windowSize
| ) |  |

inline

Parameters

  self | DSIFT filter object.
  windowSize | window size.

void vl_dsift_transpose_descriptor | ( | float * | dst,
|  | float const * | src,
|  | int | numBinT,
|  | int | numBinX,
|  | int | numBinY
| ) |  |

inline

Parameters

  dst | destination buffer.
  src | source buffer.
  numBinT |
  numBinX |
  numBinY | The 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)`