OpenCV  3.2.0-dev
Open Source Computer Vision
cvflann::Index< Distance > Class Template Reference

#include "flann_base.hpp"

Inheritance diagram for cvflann::Index< Distance >:
Collaboration diagram for cvflann::Index< Distance >:

Public Types

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

Public Member Functions

 Index (const Matrix< ElementType > &features, const IndexParams &params, Distance distance=Distance())
 
 ~Index ()
 
void buildIndex ()
 Builds the index. More...
 
void findNeighbors (ResultSet< DistanceType > &result, const ElementType *vec, const SearchParams &searchParams)
 Method that searches for nearest-neighbours. More...
 
NNIndex< Distance > * getIndex ()
 Returns actual index. More...
 
const IndexParamsgetIndexParameters ()
 Returns index parameters. More...
 
IndexParams getParameters () const
 
flann_algorithm_t getType () const
 
void knnSearch (const Matrix< ElementType > &queries, Matrix< int > &indices, Matrix< DistanceType > &dists, int knn, const SearchParams &params)
 Perform k-nearest neighbor search. More...
 
virtual void loadIndex (FILE *stream)
 Loads the index from a stream. More...
 
int radiusSearch (const Matrix< ElementType > &query, Matrix< int > &indices, Matrix< DistanceType > &dists, float radius, const SearchParams &params)
 Perform radius search. More...
 
void save (cv::String filename)
 
virtual void saveIndex (FILE *stream)
 Saves the index to a stream. More...
 
size_t size () const
 
virtual int usedMemory () const
 
size_t veclen () const
 

Member Typedef Documentation

template<typename Distance>
typedef Distance::ResultType cvflann::Index< Distance >::DistanceType
template<typename Distance>
typedef Distance::ElementType cvflann::Index< Distance >::ElementType

Constructor & Destructor Documentation

template<typename Distance>
cvflann::Index< Distance >::Index ( const Matrix< ElementType > &  features,
const IndexParams params,
Distance  distance = Distance() 
)
inline
template<typename Distance>
cvflann::Index< Distance >::~Index ( )
inline

Member Function Documentation

template<typename Distance>
void cvflann::Index< Distance >::buildIndex ( )
inlinevirtual

Builds the index.

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
void cvflann::Index< Distance >::findNeighbors ( ResultSet< DistanceType > &  result,
const ElementType vec,
const SearchParams searchParams 
)
inlinevirtual

Method that searches for nearest-neighbours.

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
NNIndex<Distance>* cvflann::Index< Distance >::getIndex ( )
inline

Returns actual index.

template<typename Distance>
const IndexParams* cvflann::Index< Distance >::getIndexParameters ( )
inline

Returns index parameters.

Deprecated:
use getParameters() instead.
template<typename Distance>
IndexParams cvflann::Index< Distance >::getParameters ( ) const
inlinevirtual
Returns
The index parameters

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
flann_algorithm_t cvflann::Index< Distance >::getType ( ) const
inlinevirtual
Returns
The index type (kdtree, kmeans,...)

Implements cvflann::NNIndex< Distance >.

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

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>
virtual void cvflann::Index< Distance >::loadIndex ( FILE *  stream)
inlinevirtual

Loads the index from a stream.

Parameters
streamThe stream from which the index is loaded

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
int cvflann::Index< Distance >::radiusSearch ( const Matrix< ElementType > &  query,
Matrix< int > &  indices,
Matrix< DistanceType > &  dists,
float  radius,
const SearchParams params 
)
inlinevirtual

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 from cvflann::NNIndex< Distance >.

template<typename Distance>
void cvflann::Index< Distance >::save ( cv::String  filename)
inline
template<typename Distance>
virtual void cvflann::Index< Distance >::saveIndex ( FILE *  stream)
inlinevirtual

Saves the index to a stream.

Parameters
streamThe stream to save the index to

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
size_t cvflann::Index< Distance >::size ( ) const
inlinevirtual
Returns
The dimensionality of the features in this index.

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
virtual int cvflann::Index< Distance >::usedMemory ( ) const
inlinevirtual
Returns
The amount of memory (in bytes) used by the index.

Implements cvflann::NNIndex< Distance >.

template<typename Distance>
size_t cvflann::Index< Distance >::veclen ( ) const
inlinevirtual
Returns
number of features in this index.

Implements cvflann::NNIndex< Distance >.


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