Documentation - C API
liop.h File Reference

Local Intensity Order Pattern (LIOP) descriptor (Local Intensity Order Pattern (LIOP) descriptor) More...

#include "generic.h"

Data Structures

struct  VlLiopDesc
 LIOP descriptor extractor object. More...

Functions

Construct and destroy
VlLiopDescvl_liopdesc_new (vl_int numNeighbours, vl_int numSpatialBins, float radius, vl_size sideLength)
 Create a new LIOP object instance.
VlLiopDescvl_liopdesc_new_basic (vl_size sideLength)
 Create a new object with default parameters.
void vl_liopdesc_delete (VlLiopDesc *self)
 Delete object instance.
Get data and parameters
vl_size vl_liopdesc_get_dimension (VlLiopDesc const *self)
 Get the dimension of a LIOP descriptor.
vl_size vl_liopdesc_get_num_neighbours (VlLiopDesc const *self)
 Get the number of neighbours.
float vl_liopdesc_get_intensity_threshold (VlLiopDesc const *self)
 Get the intensity threshold.
vl_size vl_liopdesc_get_num_spatial_bins (VlLiopDesc const *self)
 Get the number of spatial bins.
double vl_liopdesc_get_neighbourhood_radius (VlLiopDesc const *self)
 Get the neighbourhood radius.
void vl_liopdesc_set_intensity_threshold (VlLiopDesc *self, float x)
 Set the intensity threshold.
Compute LIOP descriptor
void vl_liopdesc_process (VlLiopDesc *liop, float *desc, float const *patch)
 Compute liop descriptor for a patch.

Detailed Description

Author:
Hana Sarbortova
Andrea Vedaldi
See also:
Local Intensity Order Pattern (LIOP) descriptor

Function Documentation

void vl_liopdesc_delete ( VlLiopDesc self)
Parameters:
selfobject instance.
vl_size vl_liopdesc_get_dimension ( VlLiopDesc const *  self)
Returns:
dimension.
float vl_liopdesc_get_intensity_threshold ( VlLiopDesc const *  self)
Parameters:
selfobject.
Returns:
intensity threshold.
See also:
liop-weighing
double vl_liopdesc_get_neighbourhood_radius ( VlLiopDesc const *  self)
Parameters:
selfobject.
Returns:
neighbourhood radius.
vl_size vl_liopdesc_get_num_neighbours ( VlLiopDesc const *  self)
Parameters:
selfobject.
Returns:
number of neighbours.
vl_size vl_liopdesc_get_num_spatial_bins ( VlLiopDesc const *  self)
Parameters:
selfobject.
Returns:
number of spatial bins.
VlLiopDesc* vl_liopdesc_new ( vl_int  numNeighbours,
vl_int  numSpatialBins,
float  radius,
vl_size  sideLength 
)
Parameters:
numNeighboursnumber of neighbours.
numSpatialBinsnumber of bins.
radiusradius of the cirucal sample neighbourhoods.
sideLengthwidth of the input image patch (the patch is square).
Returns:
new object instance.

The value of radius should be at least less than half the sideLength of the patch.

VlLiopDesc* vl_liopdesc_new_basic ( vl_size  sideLength)
Parameters:
patchSideLengthsize of the patches to be processed.
Returns:
new object.
See also:
vl_liopdesc_new.
void vl_liopdesc_process ( VlLiopDesc self,
float *  desc,
float const *  patch 
)
Parameters:
selfobject instance
descdescriptor to be computed (output).
patchpatch to process

Use vl_liopdesc_get_dimension to get the size of the descriptor .

void vl_liopdesc_set_intensity_threshold ( VlLiopDesc self,
float  x 
)
Parameters:
selfobject.
xintensity threshold.

If non-negative, the threshold as is is used when comparing intensities. If negative, the absolute value of the specified number is multipled by the maximum intensity difference inside a patch to obtain the threshold.

See also:
liop-weighing