Documentation>C API
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.
VlDsiftFilter * | vl_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

## ◆ _vl_dsift_update_buffers()

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

## ◆ vl_dsift_delete()

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

Parameters

  self | DSIFT filter.

## ◆ vl_dsift_get_bounds()

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.

## ◆ vl_dsift_get_descriptor_size()

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

inline

Parameters

  self | DSIFT filter object.

Returns
  size of a descriptor.

## ◆ vl_dsift_get_descriptors()

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

inline

Parameters

  self | DSIFT filter object.

Returns
  descriptors.

## ◆ vl_dsift_get_flat_window()

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.

## ◆ vl_dsift_get_geometry()

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

inline

Parameters

  self | DSIFT filter object.

Returns
  DSIFT descriptor geometry.

## ◆ vl_dsift_get_keypoint_num()

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

inline

Parameters

  self | DSIFT filter object.

## ◆ vl_dsift_get_keypoints()

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

inline

Parameters

  self | DSIFT filter object.

## ◆ vl_dsift_get_steps()

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.

## ◆ vl_dsift_get_window_size()

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

inline

Parameters

  self | DSIFT filter object.

Returns
  window size.

## ◆ vl_dsift_new()

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

Parameters

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

Returns
  new filter.

## ◆ vl_dsift_new_basic()

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.

## ◆ vl_dsift_process()

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

Parameters

  self | DSIFT filter.
  im | image data.

## ◆ vl_dsift_set_bounds()

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.

## ◆ vl_dsift_set_flat_window()

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.

## ◆ vl_dsift_set_geometry()

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

inline

Parameters

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

## ◆ vl_dsift_set_steps()

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.

## ◆ vl_dsift_set_window_size()

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

inline

Parameters

  self | DSIFT filter object.
  windowSize | window size.

## ◆ vl_dsift_transpose_descriptor()

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)`