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. More...
 
VlLiopDescvl_liopdesc_new_basic (vl_size sideLength)
 Create a new object with default parameters. More...
 
void vl_liopdesc_delete (VlLiopDesc *self)
 Delete object instance. More...
 
Get data and parameters
vl_size vl_liopdesc_get_dimension (VlLiopDesc const *self)
 Get the dimension of a LIOP descriptor. More...
 
vl_size vl_liopdesc_get_num_neighbours (VlLiopDesc const *self)
 Get the number of neighbours. More...
 
float vl_liopdesc_get_intensity_threshold (VlLiopDesc const *self)
 Get the intensity threshold. More...
 
vl_size vl_liopdesc_get_num_spatial_bins (VlLiopDesc const *self)
 Get the number of spatial bins. More...
 
double vl_liopdesc_get_neighbourhood_radius (VlLiopDesc const *self)
 Get the neighbourhood radius. More...
 
void vl_liopdesc_set_intensity_threshold (VlLiopDesc *self, float x)
 Set the intensity threshold. More...
 
Compute LIOP descriptor
void vl_liopdesc_process (VlLiopDesc *liop, float *desc, float const *patch)
 Compute liop descriptor for a patch. More...
 

Detailed Description

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

Function Documentation

◆ vl_liopdesc_delete()

void vl_liopdesc_delete ( VlLiopDesc self)
Parameters
selfobject instance.

◆ vl_liopdesc_get_dimension()

vl_size vl_liopdesc_get_dimension ( VlLiopDesc const *  self)
Parameters
selfobject.
Returns
dimension.

◆ vl_liopdesc_get_intensity_threshold()

float vl_liopdesc_get_intensity_threshold ( VlLiopDesc const *  self)
Parameters
selfobject.
Returns
intensity threshold.
See also
liop-weighing

◆ vl_liopdesc_get_neighbourhood_radius()

double vl_liopdesc_get_neighbourhood_radius ( VlLiopDesc const *  self)
Parameters
selfobject.
Returns
neighbourhood radius.

◆ vl_liopdesc_get_num_neighbours()

vl_size vl_liopdesc_get_num_neighbours ( VlLiopDesc const *  self)
Parameters
selfobject.
Returns
number of neighbours.

◆ vl_liopdesc_get_num_spatial_bins()

vl_size vl_liopdesc_get_num_spatial_bins ( VlLiopDesc const *  self)
Parameters
selfobject.
Returns
number of spatial bins.

◆ vl_liopdesc_new()

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.

◆ vl_liopdesc_new_basic()

VlLiopDesc* vl_liopdesc_new_basic ( vl_size  sideLength)
Parameters
sideLengthsize of the patches to be processed.
Returns
new object.
See also
vl_liopdesc_new.

◆ vl_liopdesc_process()

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 desc.

◆ vl_liopdesc_set_intensity_threshold()

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