Classes | Public Types | Public Member Functions
cvflann::LshIndex< Distance > Class Template Reference

#include <lsh_index.h>

Inherits cvflann::NNIndex< Distance >.

List of all members.

Classes

struct  SortScoreIndexPairOnSecond

Public Types

typedef Distance::ElementType ElementType
typedef Distance::ResultType DistanceType

Public Member Functions

 LshIndex (const Matrix< ElementType > &input_data, const IndexParams &params=LshIndexParams(), Distance d=Distance())
 LshIndex (const LshIndex &)
LshIndexoperator= (const LshIndex &)
void buildIndex ()
flann_algorithm_t getType () const
void saveIndex (FILE *stream)
 Saves the index to a stream.
void loadIndex (FILE *stream)
 Loads the index from a stream.
size_t size () const
size_t veclen () const
int usedMemory () const
IndexParams getParameters () const
virtual void knnSearch (const Matrix< ElementType > &queries, Matrix< int > &indices, Matrix< DistanceType > &dists, int knn, const SearchParams &params)
 Perform k-nearest neighbor search.
void findNeighbors (ResultSet< DistanceType > &result, const ElementType *vec, const SearchParams &)
virtual int radiusSearch (const Matrix< ElementType > &query, Matrix< int > &indices, Matrix< DistanceType > &dists, float radius, const SearchParams &params)
 Perform radius search.

Detailed Description

template<typename Distance>
class cvflann::LshIndex< Distance >

Randomized kd-tree index

Contains the k-d trees and other information for indexing a set of points for nearest-neighbor matching.


Member Typedef Documentation

template<typename Distance>
typedef Distance::ElementType cvflann::LshIndex< Distance >::ElementType

Reimplemented from cvflann::NNIndex< Distance >.

template<typename Distance>
typedef Distance::ResultType cvflann::LshIndex< Distance >::DistanceType

Reimplemented from cvflann::NNIndex< Distance >.


Constructor & Destructor Documentation

template<typename Distance>
cvflann::LshIndex< Distance >::LshIndex ( const Matrix< ElementType > &  input_data,
const IndexParams params = LshIndexParams(),
Distance  d = Distance() 
)

Constructor

Parameters:
input_datadataset with the input features
paramsparameters passed to the LSH algorithm
dthe distance used
template<typename Distance>
cvflann::LshIndex< Distance >::LshIndex ( const LshIndex< Distance > &  )

Member Function Documentation

template<typename Distance>
LshIndex& cvflann::LshIndex< Distance >::operator= ( const LshIndex< Distance > &  )
template<typename Distance>
void cvflann::LshIndex< Distance >::buildIndex ( ) [virtual]

Builds the index

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
flann_algorithm_t cvflann::LshIndex< Distance >::getType ( ) const [virtual]
Returns:
The index type (kdtree, kmeans,...)

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
void cvflann::LshIndex< Distance >::saveIndex ( FILE *  stream) [virtual]

Saves the index to a stream.

Parameters:
streamThe stream to save the index to

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
void cvflann::LshIndex< Distance >::loadIndex ( FILE *  stream) [virtual]

Loads the index from a stream.

Parameters:
streamThe stream from which the index is loaded

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
size_t cvflann::LshIndex< Distance >::size ( ) const [virtual]

Returns size of index.

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
size_t cvflann::LshIndex< Distance >::veclen ( ) const [virtual]

Returns the length of an index feature.

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
int cvflann::LshIndex< Distance >::usedMemory ( ) const [virtual]

Computes the index memory usage Returns: memory used by the index

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
IndexParams cvflann::LshIndex< Distance >::getParameters ( ) const [virtual]
Returns:
The index parameters

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
virtual void cvflann::LshIndex< Distance >::knnSearch ( const Matrix< ElementType > &  queries,
Matrix< int > &  indices,
Matrix< DistanceType > &  dists,
int  knn,
const SearchParams params 
) [virtual]

Perform k-nearest neighbor search.

Parameters:
[in]queriesThe query points for which to find the nearest neighbors
[out]indicesThe indices of the nearest neighbors found
[out]distsDistances to the nearest neighbors found
[in]knnNumber of nearest neighbors to return
[in]paramsSearch parameters

Reimplemented from cvflann::NNIndex< Distance >.

template<typename Distance>
void cvflann::LshIndex< Distance >::findNeighbors ( ResultSet< DistanceType > &  result,
const ElementType vec,
const SearchParams  
) [virtual]

Find set of nearest neighbors to vec. Their indices are stored inside the result object.

Params: result = the result object in which the indices of the nearest-neighbors are stored vec = the vector for which to search the nearest neighbors maxCheck = the maximum number of restarts (in a best-bin-first manner)

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
virtual int cvflann::NNIndex< Distance >::radiusSearch ( const Matrix< ElementType > &  query,
Matrix< int > &  indices,
Matrix< DistanceType > &  dists,
float  radius,
const SearchParams params 
) [virtual, inherited]

Perform radius search.

Parameters:
[in]queryThe query point
[out]indicesThe indinces of the neighbors found within the given radius
[out]distsThe distances to the nearest neighbors found
[in]radiusThe radius used for search
[in]paramsSearch parameters
Returns:
Number of neighbors found

Reimplemented in cvflann::Index< Distance >, cvflann::Index< L1< ElementType > >, and cvflann::Index< L2< ElementType > >.


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