OpenCV  3.3.0-dev
Open Source Computer Vision
Classes | Public Types | Public Member Functions | List of all members
cvflann::HierarchicalClusteringIndex< Distance > Class Template Reference

#include "hierarchical_clustering_index.h"

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

Public Types

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

Public Member Functions

 HierarchicalClusteringIndex (const Matrix< ElementType > &inputData, const IndexParams &index_params=HierarchicalClusteringIndexParams(), Distance d=Distance())
 
 HierarchicalClusteringIndex (const HierarchicalClusteringIndex &)
 
virtual ~HierarchicalClusteringIndex ()
 
void buildIndex ()
 
void findNeighbors (ResultSet< DistanceType > &result, const ElementType *vec, const SearchParams &searchParams)
 
void free_elements ()
 
IndexParams getParameters () const
 
flann_algorithm_t getType () const
 
void loadIndex (FILE *stream)
 Loads the index from a stream. More...
 
HierarchicalClusteringIndexoperator= (const HierarchicalClusteringIndex &)
 
void saveIndex (FILE *stream)
 Saves the index to a stream. More...
 
size_t size () const
 
int usedMemory () const
 
size_t veclen () const
 
- 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::HierarchicalClusteringIndex< Distance >

Hierarchical index

Contains a tree constructed through a hierarchical clustering and other information for indexing a set of points for nearest-neighbour matching.

Member Typedef Documentation

◆ DistanceType

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

◆ ElementType

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

Constructor & Destructor Documentation

◆ HierarchicalClusteringIndex() [1/2]

template<typename Distance>
cvflann::HierarchicalClusteringIndex< Distance >::HierarchicalClusteringIndex ( const Matrix< ElementType > &  inputData,
const IndexParams index_params = HierarchicalClusteringIndexParams(),
Distance  d = Distance() 
)
inline

Index constructor

Params: inputData = dataset with the input features params = parameters passed to the hierarchical k-means algorithm

◆ HierarchicalClusteringIndex() [2/2]

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

◆ ~HierarchicalClusteringIndex()

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

Index destructor.

Release the memory used by the index.

Member Function Documentation

◆ buildIndex()

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

Builds the index

Implements cvflann::NNIndex< Distance >.

◆ findNeighbors()

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

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 searchParams = parameters that influence the search algorithm (checks)

Implements cvflann::NNIndex< Distance >.

◆ free_elements()

template<typename Distance>
void cvflann::HierarchicalClusteringIndex< Distance >::free_elements ( )
inline

Release the inner elements of indices[]

◆ getParameters()

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

Implements cvflann::NNIndex< Distance >.

◆ getType()

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

Implements cvflann::NNIndex< Distance >.

◆ loadIndex()

template<typename Distance>
void cvflann::HierarchicalClusteringIndex< 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>
HierarchicalClusteringIndex& cvflann::HierarchicalClusteringIndex< Distance >::operator= ( const HierarchicalClusteringIndex< Distance > &  )

◆ saveIndex()

template<typename Distance>
void cvflann::HierarchicalClusteringIndex< 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::HierarchicalClusteringIndex< Distance >::size ( ) const
inlinevirtual

Returns size of index.

Implements cvflann::NNIndex< Distance >.

◆ usedMemory()

template<typename Distance>
int cvflann::HierarchicalClusteringIndex< Distance >::usedMemory ( ) const
inlinevirtual

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

Implements cvflann::NNIndex< Distance >.

◆ veclen()

template<typename Distance>
size_t cvflann::HierarchicalClusteringIndex< Distance >::veclen ( ) const
inlinevirtual

Returns the length of an index feature.

Implements cvflann::NNIndex< Distance >.


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