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. More...
 
void vl_quickshift_delete (VlQS *q)
 Delete quick shift object. More...
 
Process data
void vl_quickshift_process (VlQS *q)
 Create a quick shift objet. More...
 
Retrieve data and parameters
vl_qs_type vl_quickshift_get_max_dist (VlQS const *q)
 Get tau. More...
 
vl_qs_type vl_quickshift_get_kernel_size (VlQS const *q)
 Get sigma. More...
 
vl_bool vl_quickshift_get_medoid (VlQS const *q)
 Get medoid. More...
 
int * vl_quickshift_get_parents (VlQS const *q)
 Get parents. More...
 
vl_qs_typevl_quickshift_get_dists (VlQS const *q)
 Get dists. More...
 
vl_qs_typevl_quickshift_get_density (VlQS const *q)
 Get density. More...
 
Set parameters
void vl_quickshift_set_max_dist (VlQS *q, vl_qs_type tau)
 Set max distance. More...
 
void vl_quickshift_set_kernel_size (VlQS *q, vl_qs_type sigma)
 Set sigma. More...
 
void vl_quickshift_set_medoid (VlQS *q, vl_bool medoid)
 Set medoid. More...
 

Detailed Description

Author
Andrea Vedaldi
Brian Fulkerson

Function Documentation

◆ vl_quickshift_delete()

void vl_quickshift_delete ( VlQS q)
Parameters
qquick shift object.

◆ vl_quickshift_get_density()

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_quickshift_get_dists()

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_quickshift_get_kernel_size()

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_quickshift_get_max_dist()

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_quickshift_get_medoid()

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.

◆ vl_quickshift_get_parents()

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.

◆ vl_quickshift_new()

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.

◆ vl_quickshift_process()

void vl_quickshift_process ( VlQS q)
Parameters
qquick shift object.

◆ vl_quickshift_set_kernel_size()

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.

◆ vl_quickshift_set_max_dist()

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.

◆ vl_quickshift_set_medoid()

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.