OpenCV  4.0.0
Open Source Computer Vision
Public Types | Public Member Functions | List of all members
cvflann::CompositeIndex< Distance > Class Template Reference

#include "composite_index.h"

Inheritance diagram for cvflann::CompositeIndex< Distance >:
cvflann::NNIndex< Distance >

Public Types

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

Public Member Functions

 CompositeIndex (const Matrix< ElementType > &inputData, const IndexParams &params=CompositeIndexParams(), Distance d=Distance())
 
 CompositeIndex (const CompositeIndex &)
 
virtual ~CompositeIndex ()
 
void buildIndex () CV_OVERRIDE
 Builds the index. More...
 
void findNeighbors (ResultSet< DistanceType > &result, const ElementType *vec, const SearchParams &searchParams) CV_OVERRIDE
 Method that searches for nearest-neighbours. More...
 
IndexParams getParameters () const CV_OVERRIDE
 
flann_algorithm_t getType () const CV_OVERRIDE
 
void loadIndex (FILE *stream) CV_OVERRIDE
 Loads the index from a stream. More...
 
CompositeIndexoperator= (const CompositeIndex &)
 
void saveIndex (FILE *stream) CV_OVERRIDE
 Saves the index to a stream. More...
 
size_t size () const CV_OVERRIDE
 
int usedMemory () const CV_OVERRIDE
 
size_t veclen () const CV_OVERRIDE
 
- Public Member Functions inherited from cvflann::NNIndex< Distance >
virtual ~NNIndex ()
 
virtual void knnSearch (const Matrix< ElementType > &queries, Matrix< int > &indices, Matrix< DistanceType > &dists, int knn, const SearchParams &params)
 Perform k-nearest neighbor search. More...
 
virtual int radiusSearch (const Matrix< ElementType > &query, Matrix< int > &indices, Matrix< DistanceType > &dists, float radius, const SearchParams &params)
 Perform radius search. More...
 

Detailed Description

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

This index builds a kd-tree index and a k-means index and performs nearest neighbour search both indexes. This gives a slight boost in search performance as some of the neighbours that are missed by one index are found by the other.

Member Typedef Documentation

§ DistanceType

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

§ ElementType

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

Constructor & Destructor Documentation

§ CompositeIndex() [1/2]

template<typename Distance>
cvflann::CompositeIndex< Distance >::CompositeIndex ( const Matrix< ElementType > &  inputData,
const IndexParams params = CompositeIndexParams(),
Distance  d = Distance() 
)
inline

Index constructor

Parameters
inputDatadataset containing the points to index
paramsIndex parameters
dDistance functor
Returns

§ CompositeIndex() [2/2]

template<typename Distance>
cvflann::CompositeIndex< Distance >::CompositeIndex ( const CompositeIndex< Distance > &  )

§ ~CompositeIndex()

template<typename Distance>
virtual cvflann::CompositeIndex< Distance >::~CompositeIndex ( )
inlinevirtual

Member Function Documentation

§ buildIndex()

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

Builds the index.

Implements cvflann::NNIndex< Distance >.

§ findNeighbors()

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

Method that searches for nearest-neighbours.

Implements cvflann::NNIndex< Distance >.

§ getParameters()

template<typename Distance>
IndexParams cvflann::CompositeIndex< Distance >::getParameters ( ) const
inlinevirtual
Returns
The index parameters

Implements cvflann::NNIndex< Distance >.

§ getType()

template<typename Distance>
flann_algorithm_t cvflann::CompositeIndex< Distance >::getType ( ) const
inlinevirtual
Returns
The index type

Implements cvflann::NNIndex< Distance >.

§ loadIndex()

template<typename Distance>
void cvflann::CompositeIndex< Distance >::loadIndex ( FILE *  stream)
inlinevirtual

Loads the index from a stream.

Parameters
streamThe stream from which the index is loaded

Implements cvflann::NNIndex< Distance >.

§ operator=()

template<typename Distance>
CompositeIndex& cvflann::CompositeIndex< Distance >::operator= ( const CompositeIndex< Distance > &  )

§ saveIndex()

template<typename Distance>
void cvflann::CompositeIndex< Distance >::saveIndex ( FILE *  stream)
inlinevirtual

Saves the index to a stream.

Parameters
streamThe stream to save the index to

Implements cvflann::NNIndex< Distance >.

§ size()

template<typename Distance>
size_t cvflann::CompositeIndex< Distance >::size ( ) const
inlinevirtual
Returns
Size of the index

Implements cvflann::NNIndex< Distance >.

§ usedMemory()

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

Implements cvflann::NNIndex< Distance >.

§ veclen()

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

Implements cvflann::NNIndex< Distance >.


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