%tableofcontents;

This tutorial shows how to extract Local Intensity Order Pattern (LIOP) deascriptors using VLFeat. LIOP is implemented in the `vl_liop` as well as in `vl_covdet`.

# LIOP descriptor computation

A LIOP descriptor can be computed from a square, gray scale image with and odd side length `patch`. This is usually not a restriction since local patches are obtained by cropping and warpinig an input image. The descriptor is computed using the `vl_liop` function:

descr = vl_covdet(patch) ;

You can use the verbose option `verbose` if you wish to see the parametr and descriptor details.

descr = vl_covdet(patch,'Verbose') ;

`patch` can be a 3D array, with one image per 2D layer. In this case, `descr` is a matrix with as many columns as images. LIOP is also integrated into `vl_covdet`.

`vl_liop` allows full customization of the LIOP descriptor parameters. These are discussed here. A parameter that is commonly tweaked is the intensity threshold to downweight unstalbe intensity order patterns in the descriptor computation. For example

descr = vl_covdet(patch,'IntensityThreshold', 0.1) ;

set this threshold to 0.1.