Documentation - C API
quickshift.h File Reference

Quick shift (Quick shift image segmentation) More...

#include "generic.h"
#include "mathop.h"

Data Structures

struct  VlQS
 quick shift results More...

Macros

#define VL_QS_INF   VL_INFINITY_D /* Change to _F for float math */
 quick shift infinity constant

Typedefs

typedef double vl_qs_type
 quick shift datatype

Functions

Create and destroy
VlQSvl_quickshift_new (vl_qs_type const *im, int height, int width, int channels)
 Create a quick shift object.
void vl_quickshift_delete (VlQS *q)
 Delete quick shift object.
Process data
void vl_quickshift_process (VlQS *q)
 Create a quick shift objet.
Retrieve data and parameters
vl_qs_type vl_quickshift_get_max_dist (VlQS const *q)
 Get tau.
vl_qs_type vl_quickshift_get_kernel_size (VlQS const *q)
 Get sigma.
vl_bool vl_quickshift_get_medoid (VlQS const *q)
 Get medoid.
int * vl_quickshift_get_parents (VlQS const *q)
 Get parents.
vl_qs_typevl_quickshift_get_dists (VlQS const *q)
 Get dists.
vl_qs_typevl_quickshift_get_density (VlQS const *q)
 Get density.
Set parameters
void vl_quickshift_set_max_dist (VlQS *q, vl_qs_type tau)
 Set max distance.
void vl_quickshift_set_kernel_size (VlQS *q, vl_qs_type sigma)
 Set sigma.
void vl_quickshift_set_medoid (VlQS *q, vl_bool medoid)
 Set medoid.

Detailed Description

Author:
Andrea Vedaldi
Brian Fulkerson

Function Documentation

void vl_quickshift_delete ( VlQS q)
Parameters:
qquick shift object.
vl_qs_type * vl_quickshift_get_density ( VlQS const *  q)
inline
Parameters:
qquick shift object.
Returns:
the estimate of the density at each pixel.
vl_qs_type * vl_quickshift_get_dists ( VlQS const *  q)
inline
Parameters:
qquick shift object.
Returns:
for each pixel, the distance in feature space to the pixel that is its parent in the quick shift tree. The distance is set to 'inf' if the pixel is a root node.
vl_qs_type vl_quickshift_get_kernel_size ( VlQS const *  q)
inline
Parameters:
qquick shift object.
Returns:
the standard deviation of the kernel used in the Parzen density estimate.
vl_qs_type vl_quickshift_get_max_dist ( VlQS const *  q)
inline
Parameters:
qquick shift object.
Returns:
the maximum distance in the feature space between nodes in the quick shift tree.
vl_bool vl_quickshift_get_medoid ( VlQS const *  q)
inline
Parameters:
qquick Shift object.
Returns:
true if medoid shift is used instead of quick shift.
int * vl_quickshift_get_parents ( VlQS const *  q)
inline
Parameters:
qquick shift object.
Returns:
a height x width matrix where each element contains the linear index of its parent node. The node is a root if its value is its own linear index.
VlQS* vl_quickshift_new ( vl_qs_type const *  image,
int  height,
int  width,
int  channels 
)
Parameters:
imagethe image.
heightthe height (number of rows) of the image.
widththe width (number of columns) of the image.
channelsthe number of channels of the image.
Returns:
new quick shift object.

The image is an array of vl_qs_type values with three dimensions (respectively widht, height, and channels). Typically, a color (e.g, RGB) image has three channels. The linear index of a pixel is computed with: channels * width* height + row + height * col.

void vl_quickshift_process ( VlQS q)
Parameters:
qquick shift object.
void vl_quickshift_set_kernel_size ( VlQS q,
vl_qs_type  sigma 
)
inline
Parameters:
qquick shift object.
sigmastandard deviation of the kernel used in the Parzen density estimate.
void vl_quickshift_set_max_dist ( VlQS q,
vl_qs_type  tau 
)
inline
Parameters:
qquick shift object.
tauthe maximum distance in the feature space between nodes in the quick shift tree.
void vl_quickshift_set_medoid ( VlQS q,
vl_bool  medoid 
)
inline
Parameters:
qquick shift object.
medoidtrue to use kernelized medoid shift, false (default) uses quick shift.