Public Types | Public Member Functions
cvflann::lsh::LshTable< ElementType > Class Template Reference

#include <lsh_table.h>

List of all members.

Public Types

typedef std::unordered_map
< BucketKey, Bucket
BucketsSpace
typedef std::map< BucketKey,
Bucket
BucketsSpace
typedef std::vector< BucketBucketsSpeed

Public Member Functions

 LshTable ()
 LshTable (unsigned int, unsigned int)
void add (unsigned int value, const ElementType *feature)
void add (Matrix< ElementType > dataset)
const BucketgetBucketFromKey (BucketKey key) const
size_t getKey (const ElementType *) const
LshStats getStats () const
template<>
 LshTable (unsigned int feature_size, unsigned int subsignature_size)
template<>
size_t getKey (const unsigned char *feature) const
template<>
LshStats getStats () const

Detailed Description

template<typename ElementType>
class cvflann::lsh::LshTable< ElementType >

Lsh hash table. As its key is a sub-feature, and as usually the size of it is pretty small, we keep it as a continuous memory array. The value is an index in the corpus of features (we keep it as an unsigned int for pure memory reasons, it could be a size_t)


Member Typedef Documentation

template<typename ElementType>
typedef std::unordered_map<BucketKey, Bucket> cvflann::lsh::LshTable< ElementType >::BucketsSpace

A container of all the feature indices. Optimized for space

template<typename ElementType>
typedef std::map<BucketKey, Bucket> cvflann::lsh::LshTable< ElementType >::BucketsSpace
template<typename ElementType>
typedef std::vector<Bucket> cvflann::lsh::LshTable< ElementType >::BucketsSpeed

A container of all the feature indices. Optimized for speed


Constructor & Destructor Documentation

template<typename ElementType>
cvflann::lsh::LshTable< ElementType >::LshTable ( )

Default constructor

template<typename ElementType>
cvflann::lsh::LshTable< ElementType >::LshTable ( unsigned  int,
unsigned  int 
)

Default constructor Create the mask and allocate the memory

Parameters:
feature_sizeis the size of the feature (considered as a ElementType[])
key_sizeis the number of bits that are turned on in the feature
template<>
cvflann::lsh::LshTable< unsigned char >::LshTable ( unsigned int  feature_size,
unsigned int  subsignature_size 
)

Member Function Documentation

template<typename ElementType>
void cvflann::lsh::LshTable< ElementType >::add ( unsigned int  value,
const ElementType *  feature 
)

Add a feature to the table

Parameters:
valuethe value to store for that feature
featurethe feature itself
template<typename ElementType>
void cvflann::lsh::LshTable< ElementType >::add ( Matrix< ElementType >  dataset)

Add a set of features to the table

Parameters:
datasetthe values to store
template<typename ElementType>
const Bucket* cvflann::lsh::LshTable< ElementType >::getBucketFromKey ( BucketKey  key) const

Get a bucket given the key

Parameters:
key
Returns:
template<typename ElementType>
size_t cvflann::lsh::LshTable< ElementType >::getKey ( const ElementType *  ) const

Compute the sub-signature of a feature

template<typename ElementType>
LshStats cvflann::lsh::LshTable< ElementType >::getStats ( ) const

Get statistics about the table

Returns:
template<>
size_t cvflann::lsh::LshTable< unsigned char >::getKey ( const unsigned char *  feature) const

Return the Subsignature of a feature

Parameters:
featurethe feature to analyze
template<>
LshStats cvflann::lsh::LshTable< unsigned char >::getStats ( ) const

The documentation for this class was generated from the following file: