#include <nn_index.h>
Public Member Functions | |
virtual | ~NNIndex () |
virtual void | buildIndex ()=0 |
Builds the index. More... | |
virtual void | addIndex (const Matrix< ElementType > &wholeData, const Matrix< ElementType > &additionalData)=0 |
implementation for algorithms of addable indexes after that. More... | |
virtual void | knnSearch (const Matrix< ElementType > &queries, Matrix< int > &indices, Matrix< DistanceType > &dists, int knn, const SearchParams ¶ms) |
Perform k-nearest neighbor search. More... | |
virtual int | radiusSearch (const Matrix< ElementType > &query, Matrix< int > &indices, Matrix< DistanceType > &dists, float radius, const SearchParams ¶ms) |
Perform radius search. More... | |
virtual void | saveIndex (FILE *stream)=0 |
Saves the index to a stream. More... | |
virtual void | loadIndex (FILE *stream)=0 |
Loads the index from a stream. More... | |
virtual size_t | size () const =0 |
virtual size_t | veclen () const =0 |
virtual int | usedMemory () const =0 |
virtual flann_algorithm_t | getType () const =0 |
virtual IndexParams | getParameters () const =0 |
virtual void | findNeighbors (ResultSet< DistanceType > &result, const ElementType *vec, const SearchParams &searchParams)=0 |
Method that searches for nearest-neighbours. More... | |
Nearest-neighbour index base class
|
inlinevirtual |
|
pure virtual |
implementation for algorithms of addable indexes after that.
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
pure virtual |
Builds the index.
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
pure virtual |
Method that searches for nearest-neighbours.
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
pure virtual |
Implemented in cvflann::KMeansIndex< Distance >, cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::LshIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
pure virtual |
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::LshIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::CompositeIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
inlinevirtual |
Perform k-nearest neighbor search.
[in] | queries | The query points for which to find the nearest neighbors |
[out] | indices | The indices of the nearest neighbors found |
[out] | dists | Distances to the nearest neighbors found |
[in] | knn | Number of nearest neighbors to return |
[in] | params | Search parameters |
Reimplemented in cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::LshIndex< Distance >, and cvflann::KDTreeSingleIndex< Distance >.
|
pure virtual |
Loads the index from a stream.
stream | The stream from which the index is loaded |
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::LshIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
inlinevirtual |
Perform radius search.
[in] | query | The query point |
[out] | indices | The indinces of the neighbors found within the given radius |
[out] | dists | The distances to the nearest neighbors found |
[in] | radius | The radius used for search |
[in] | params | Search parameters |
Reimplemented in cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, and cvflann::Index< cv::L1< ElementType > >.
|
pure virtual |
Saves the index to a stream.
stream | The stream to save the index to |
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::LshIndex< Distance >, cvflann::CompositeIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::AutotunedIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
pure virtual |
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::Index< Distance >, cvflann::LshIndex< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::CompositeIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
pure virtual |
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::KDTreeIndex< Distance >, cvflann::CompositeIndex< Distance >, and cvflann::LinearIndex< Distance >.
|
pure virtual |
Implemented in cvflann::HierarchicalClusteringIndex< Distance >, cvflann::KMeansIndex< Distance >, cvflann::AutotunedIndex< Distance >, cvflann::KDTreeSingleIndex< Distance >, cvflann::LshIndex< Distance >, cvflann::KDTreeIndex< Distance >, cvflann::Index< Distance >, cvflann::Index< cv::L2< ElementType > >, cvflann::Index< cv::L1< ElementType > >, cvflann::CompositeIndex< Distance >, and cvflann::LinearIndex< Distance >.