OpenCV  4.1.1-pre
Open Source Computer Vision
Looking for a C++ dev who knows OpenCV?
I'm looking for work. Hire me!
cvflann Namespace Reference

Namespaces

 anyimpl
 
 lsh
 

Classes

struct  Accumulator
 
struct  Accumulator< char >
 
struct  Accumulator< int >
 
struct  Accumulator< short >
 
struct  Accumulator< unsigned char >
 
struct  Accumulator< unsigned int >
 
struct  Accumulator< unsigned short >
 
struct  any
 
class  AutotunedIndex
 
struct  AutotunedIndexParams
 
struct  BranchStruct
 
struct  ChiSquareDistance
 
class  CompositeIndex
 This index builds a kd-tree index and a k-means index and performs nearest neighbour search both indexes. More...
 
struct  CompositeIndexParams
 Index parameters for the CompositeIndex. More...
 
class  CreatorNotFound
 
struct  Datatype
 
struct  Datatype< char >
 
struct  Datatype< double >
 
struct  Datatype< float >
 
struct  Datatype< int >
 
struct  Datatype< short >
 
struct  Datatype< unsigned char >
 
struct  Datatype< unsigned int >
 
struct  Datatype< unsigned short >
 
class  DynamicBitset
 Class re-implementing the boost version of it This helps not depending on boost, it also does not do the bound checks and has a way to reset a block for speed. More...
 
class  False
 
class  FLANNException
 
struct  Hamming
 Hamming distance functor (pop count between two binary vectors, i.e. More...
 
struct  Hamming2
 
struct  HammingLUT
 Hamming distance functor - counts the bit differences between two strings - useful for the Brief descriptor bit count of A exclusive XOR'ed with B. More...
 
class  Heap
 Priority Queue Implementation. More...
 
struct  HellingerDistance
 
class  HierarchicalClusteringIndex
 Hierarchical index. More...
 
struct  HierarchicalClusteringIndexParams
 
struct  HistIntersectionDistance
 
class  Index
 
struct  index_creator
 
struct  index_creator< False, False, Distance >
 
struct  index_creator< False, VectorSpace, Distance >
 
struct  IndexHeader
 Structure representing the index header. More...
 
class  KDTreeIndex
 Randomized kd-tree index. More...
 
struct  KDTreeIndexParams
 
class  KDTreeSingleIndex
 Randomized kd-tree index. More...
 
struct  KDTreeSingleIndexParams
 
struct  KL_Divergence
 
class  KMeansIndex
 Hierarchical kmeans index. More...
 
struct  KMeansIndexParams
 
class  KNNRadiusUniqueResultSet
 Class that holds the k NN neighbors within a radius distance. More...
 
class  KNNResultSet
 K-Nearest neighbour result set. More...
 
class  KNNSimpleResultSet
 KNNSimpleResultSet does not ensure that the element it holds are unique. More...
 
class  KNNUniqueResultSet
 Class that holds the k NN neighbors Faster than KNNResultSet as it uses a binary heap and does not maintain two arrays. More...
 
struct  L1
 
struct  L2
 Squared Euclidean distance functor, optimized version. More...
 
struct  L2_Simple
 Squared Euclidean distance functor. More...
 
class  LinearIndex
 
struct  LinearIndexParams
 
class  Logger
 
class  LshIndex
 Randomized kd-tree index. More...
 
struct  LshIndexParams
 
class  Matrix
 Class that implements a simple rectangular matrix stored in a memory buffer and provides convenient matrix-like access using the [] operators. More...
 
struct  MaxDistance
 
struct  MinkowskiDistance
 
class  NNIndex
 Nearest-neighbour index base class. More...
 
class  ObjectFactory
 
class  PooledAllocator
 
class  RadiusResultSet
 A result-set class used when performing a radius based search. More...
 
class  RadiusUniqueResultSet
 Class that holds the radius nearest neighbors It is more accurate than RadiusResult as it is not limited in the number of neighbors. More...
 
class  ResultSet
 
struct  SavedIndexParams
 (Deprecated) Index parameters for creating a saved index. More...
 
struct  SearchParams
 
struct  simpleDistance
 
struct  simpleDistance< ChiSquareDistance< ElementType >, ElementType >
 
struct  simpleDistance< HellingerDistance< ElementType >, ElementType >
 
struct  simpleDistance< L2< ElementType >, ElementType >
 
struct  simpleDistance< L2_Simple< ElementType >, ElementType >
 
struct  simpleDistance< MinkowskiDistance< ElementType >, ElementType >
 
struct  squareDistance
 
struct  squareDistance< ChiSquareDistance< ElementType >, ElementType >
 
struct  squareDistance< HellingerDistance< ElementType >, ElementType >
 
struct  squareDistance< L2< ElementType >, ElementType >
 
struct  squareDistance< L2_Simple< ElementType >, ElementType >
 
struct  squareDistance< MinkowskiDistance< ElementType >, ElementType >
 
class  StartStopTimer
 A start-stop timer class. More...
 
class  True
 
class  UniqueRandom
 Random number generator that returns a distinct number from the [0,n) interval each time. More...
 
class  UniqueResultSet
 Class that holds the k NN neighbors Faster than KNNResultSet as it uses a binary heap and does not maintain two arrays. More...
 
class  UntypedMatrix
 
struct  ZeroIterator
 

Typedefs

typedef std::map< cv::String, anyIndexParams
 

Enumerations

enum  {
  FLANN_CHECKS_UNLIMITED = -1,
  FLANN_CHECKS_AUTOTUNED = -2
}
 
enum  flann_algorithm_t {
  FLANN_INDEX_LINEAR = 0,
  FLANN_INDEX_KDTREE = 1,
  FLANN_INDEX_KMEANS = 2,
  FLANN_INDEX_COMPOSITE = 3,
  FLANN_INDEX_KDTREE_SINGLE = 4,
  FLANN_INDEX_HIERARCHICAL = 5,
  FLANN_INDEX_LSH = 6,
  FLANN_INDEX_SAVED = 254,
  FLANN_INDEX_AUTOTUNED = 255,
  LINEAR = 0,
  KDTREE = 1,
  KMEANS = 2,
  COMPOSITE = 3,
  KDTREE_SINGLE = 4,
  SAVED = 254,
  AUTOTUNED = 255
}
 
enum  flann_centers_init_t {
  FLANN_CENTERS_RANDOM = 0,
  FLANN_CENTERS_GONZALES = 1,
  FLANN_CENTERS_KMEANSPP = 2,
  FLANN_CENTERS_GROUPWISE = 3,
  CENTERS_RANDOM = 0,
  CENTERS_GONZALES = 1,
  CENTERS_KMEANSPP = 2
}
 
enum  flann_datatype_t {
  FLANN_INT8 = 0,
  FLANN_INT16 = 1,
  FLANN_INT32 = 2,
  FLANN_INT64 = 3,
  FLANN_UINT8 = 4,
  FLANN_UINT16 = 5,
  FLANN_UINT32 = 6,
  FLANN_UINT64 = 7,
  FLANN_FLOAT32 = 8,
  FLANN_FLOAT64 = 9
}
 
enum  flann_distance_t {
  FLANN_DIST_EUCLIDEAN = 1,
  FLANN_DIST_L2 = 1,
  FLANN_DIST_MANHATTAN = 2,
  FLANN_DIST_L1 = 2,
  FLANN_DIST_MINKOWSKI = 3,
  FLANN_DIST_MAX = 4,
  FLANN_DIST_HIST_INTERSECT = 5,
  FLANN_DIST_HELLINGER = 6,
  FLANN_DIST_CHI_SQUARE = 7,
  FLANN_DIST_CS = 7,
  FLANN_DIST_KULLBACK_LEIBLER = 8,
  FLANN_DIST_KL = 8,
  FLANN_DIST_HAMMING = 9,
  EUCLIDEAN = 1,
  MANHATTAN = 2,
  MINKOWSKI = 3,
  MAX_DIST = 4,
  HIST_INTERSECT = 5,
  HELLINGER = 6,
  CS = 7,
  KL = 8,
  KULLBACK_LEIBLER = 8
}
 
enum  flann_log_level_t {
  FLANN_LOG_NONE = 0,
  FLANN_LOG_FATAL = 1,
  FLANN_LOG_ERROR = 2,
  FLANN_LOG_WARN = 3,
  FLANN_LOG_INFO = 4
}
 

Functions

template<typename T >
abs (T x)
 
template<>
double abs< double > (double x)
 
template<>
float abs< float > (float x)
 
template<typename T >
void addValue (int pos, float val, float *vals, T *point, T *points, int n)
 Adds val to array vals (and point to array points) and keeping the arrays sorted by vals. More...
 
template<typename T >
T * allocate (size_t count=1)
 Allocates (using C's malloc) a generic type T. More...
 
template<typename Distance >
void compute_ground_truth (const Matrix< typename Distance::ElementType > &dataset, const Matrix< typename Distance::ElementType > &testset, Matrix< int > &matches, int skip=0, Distance d=Distance())
 
template<typename Distance >
Distance::ResultType computeDistanceRaport (const Matrix< typename Distance::ElementType > &inputData, typename Distance::ElementType *target, int *neighbors, int *groundTruth, int veclen, int n, const Distance &distance)
 
int countCorrectMatches (int *neighbors, int *groundTruth, int n)
 
template<typename Distance >
NNIndex< Distance > * create_index_by_type (const Matrix< typename Distance::ElementType > &dataset, const IndexParams &params, const Distance &distance)
 
void dummyfunc ()
 
template<typename Distance >
Distance::ResultType ensureSimpleDistance (typename Distance::ResultType dist)
 
template<typename Distance >
Distance::ResultType ensureSquareDistance (typename Distance::ResultType dist)
 
template<typename Distance >
void find_nearest (const Matrix< typename Distance::ElementType > &dataset, typename Distance::ElementType *query, int *matches, int nn, int skip=0, Distance distance=Distance())
 
flann_distance_t flann_distance_type ()
 
template<typename T >
get_param (const IndexParams &params, cv::String name, const T &default_value)
 
template<typename T >
get_param (const IndexParams &params, cv::String name)
 
template<typename Distance >
int hierarchicalClustering (const Matrix< typename Distance::ElementType > &points, Matrix< typename Distance::ResultType > &centers, const KMeansIndexParams &params, Distance d=Distance())
 Performs a hierarchical clustering of the points passed as argument and then takes a cut in the the clustering tree to return a flat clustering. More...
 
IndexHeader load_header (FILE *stream)
 
template<typename Distance >
NNIndex< Distance > * load_saved_index (const Matrix< typename Distance::ElementType > &dataset, const cv::String &filename, Distance distance)
 
template<typename T >
void load_value (FILE *stream, T &value, size_t count=1)
 
template<typename T >
void load_value (FILE *stream, cvflann::Matrix< T > &value)
 
template<typename T >
void load_value (FILE *stream, std::vector< T > &value)
 
void log_verbosity (int level)
 Sets the log level used for all flann functions. More...
 
std::ostream & operator<< (std::ostream &out, const any &any_val)
 
template<typename T , typename F >
float optimizeSimplexDownhill (T *points, int n, F func, float *vals=NULL)
 Simplex downhill optimization function. More...
 
void print_params (const IndexParams &params, std::ostream &stream)
 
void print_params (const IndexParams &params)
 
int rand ()
 
double rand_double (double high=1.0, double low=0)
 Generates a random double value. More...
 
int rand_int (int high=RAND_MAX, int low=0)
 Generates a random integer value. More...
 
template<typename T >
Matrix< T > random_sample (Matrix< T > &srcMatrix, long size, bool remove=false)
 
template<typename T >
Matrix< T > random_sample (const Matrix< T > &srcMatrix, size_t size)
 
template<typename Distance >
void save_header (FILE *stream, const NNIndex< Distance > &index)
 Saves index header to stream. More...
 
template<typename T >
void save_value (FILE *stream, const T &value, size_t count=1)
 
template<typename T >
void save_value (FILE *stream, const cvflann::Matrix< T > &value)
 
template<typename T >
void save_value (FILE *stream, const std::vector< T > &value)
 
template<typename Distance >
float search_with_ground_truth (NNIndex< Distance > &index, const Matrix< typename Distance::ElementType > &inputData, const Matrix< typename Distance::ElementType > &testData, const Matrix< int > &matches, int nn, int checks, float &time, typename Distance::ResultType &dist, const Distance &distance, int skipMatches)
 
void seed_random (unsigned int seed)
 Seeds the random number generator. More...
 
void set_distance_type (flann_distance_t distance_type, int order)
 
template<typename Distance >
float test_index_checks (NNIndex< Distance > &index, const Matrix< typename Distance::ElementType > &inputData, const Matrix< typename Distance::ElementType > &testData, const Matrix< int > &matches, int checks, float &precision, const Distance &distance, int nn=1, int skipMatches=0)
 
template<typename Distance >
float test_index_precision (NNIndex< Distance > &index, const Matrix< typename Distance::ElementType > &inputData, const Matrix< typename Distance::ElementType > &testData, const Matrix< int > &matches, float precision, int &checks, const Distance &distance, int nn=1, int skipMatches=0)
 
template<typename Distance >
void test_index_precisions (NNIndex< Distance > &index, const Matrix< typename Distance::ElementType > &inputData, const Matrix< typename Distance::ElementType > &testData, const Matrix< int > &matches, float *precisions, int precisions_length, const Distance &distance, int nn=1, int skipMatches=0, float maxTime=0)
 

Variables

const size_t BLOCKSIZE =8192
 
const size_t WORDSIZE =16
 Pooled storage allocator. More...
 

Typedef Documentation

◆ IndexParams

typedef std::map<cv::String, any> cvflann::IndexParams

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FLANN_CHECKS_UNLIMITED 
FLANN_CHECKS_AUTOTUNED 

◆ flann_algorithm_t

Enumerator
FLANN_INDEX_LINEAR 
FLANN_INDEX_KDTREE 
FLANN_INDEX_KMEANS 
FLANN_INDEX_COMPOSITE 
FLANN_INDEX_KDTREE_SINGLE 
FLANN_INDEX_HIERARCHICAL 
FLANN_INDEX_LSH 
FLANN_INDEX_SAVED 
FLANN_INDEX_AUTOTUNED 
LINEAR 
KDTREE 
KMEANS 
COMPOSITE 
KDTREE_SINGLE 
SAVED 
AUTOTUNED 

◆ flann_centers_init_t

Enumerator
FLANN_CENTERS_RANDOM 
FLANN_CENTERS_GONZALES 
FLANN_CENTERS_KMEANSPP 
FLANN_CENTERS_GROUPWISE 
CENTERS_RANDOM 
CENTERS_GONZALES 
CENTERS_KMEANSPP 

◆ flann_datatype_t

Enumerator
FLANN_INT8 
FLANN_INT16 
FLANN_INT32 
FLANN_INT64 
FLANN_UINT8 
FLANN_UINT16 
FLANN_UINT32 
FLANN_UINT64 
FLANN_FLOAT32 
FLANN_FLOAT64 

◆ flann_distance_t

Enumerator
FLANN_DIST_EUCLIDEAN 
FLANN_DIST_L2 
FLANN_DIST_MANHATTAN 
FLANN_DIST_L1 
FLANN_DIST_MINKOWSKI 
FLANN_DIST_MAX 
FLANN_DIST_HIST_INTERSECT 
FLANN_DIST_HELLINGER 
FLANN_DIST_CHI_SQUARE 
FLANN_DIST_CS 
FLANN_DIST_KULLBACK_LEIBLER 
FLANN_DIST_KL 
FLANN_DIST_HAMMING 
EUCLIDEAN 
MANHATTAN 
MINKOWSKI 
MAX_DIST 
HIST_INTERSECT 
HELLINGER 
CS 
KL 
KULLBACK_LEIBLER 

◆ flann_log_level_t

Enumerator
FLANN_LOG_NONE 
FLANN_LOG_FATAL 
FLANN_LOG_ERROR 
FLANN_LOG_WARN 
FLANN_LOG_INFO 

Function Documentation

◆ abs()

template<typename T >
T cvflann::abs ( x)
inline

◆ abs< double >()

template<>
double cvflann::abs< double > ( double  x)
inline

◆ abs< float >()

template<>
float cvflann::abs< float > ( float  x)
inline

◆ addValue()

template<typename T >
void cvflann::addValue ( int  pos,
float  val,
float *  vals,
T *  point,
T *  points,
int  n 
)

Adds val to array vals (and point to array points) and keeping the arrays sorted by vals.

References cv::swap().

Referenced by optimizeSimplexDownhill().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ allocate()

template<typename T >
T* cvflann::allocate ( size_t  count = 1)

Allocates (using C's malloc) a generic type T.

Params: count = number of instances to allocate. Returns: pointer (of type T*) to memory buffer

◆ compute_ground_truth()

template<typename Distance >
void cvflann::compute_ground_truth ( const Matrix< typename Distance::ElementType > &  dataset,
const Matrix< typename Distance::ElementType > &  testset,
Matrix< int > &  matches,
int  skip = 0,
Distance  d = Distance() 
)

◆ computeDistanceRaport()

template<typename Distance >
Distance::ResultType cvflann::computeDistanceRaport ( const Matrix< typename Distance::ElementType > &  inputData,
typename Distance::ElementType *  target,
int *  neighbors,
int *  groundTruth,
int  veclen,
int  n,
const Distance &  distance 
)

◆ countCorrectMatches()

int cvflann::countCorrectMatches ( int *  neighbors,
int *  groundTruth,
int  n 
)
inline

Referenced by search_with_ground_truth().

Here is the caller graph for this function:

◆ create_index_by_type()

template<typename Distance >
NNIndex< Distance > * cvflann::create_index_by_type ( const Matrix< typename Distance::ElementType > &  dataset,
const IndexParams params,
const Distance &  distance 
)

References cvflann::index_creator< KDTreeCapability, VectorSpace, Distance >::create().

Referenced by cvflann::AutotunedIndex< Distance >::buildIndex().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dummyfunc()

void cvflann::dummyfunc ( )
inline

◆ ensureSimpleDistance()

template<typename Distance >
Distance::ResultType cvflann::ensureSimpleDistance ( typename Distance::ResultType  dist)

◆ ensureSquareDistance()

template<typename Distance >
Distance::ResultType cvflann::ensureSquareDistance ( typename Distance::ResultType  dist)

◆ find_nearest()

template<typename Distance >
void cvflann::find_nearest ( const Matrix< typename Distance::ElementType > &  dataset,
typename Distance::ElementType *  query,
int *  matches,
int  nn,
int  skip = 0,
Distance  distance = Distance() 
)

References cvflann::Matrix< T >::cols, cvflann::Matrix< T >::rows, and cv::swap().

Here is the call graph for this function:

◆ flann_distance_type()

flann_distance_t cvflann::flann_distance_type ( )

Referenced by cv::flann::hierarchicalClustering(), and cv::flann::Index_< T >::Index_().

Here is the caller graph for this function:

◆ get_param() [1/2]

◆ get_param() [2/2]

template<typename T >
T cvflann::get_param ( const IndexParams params,
cv::String  name 
)

◆ hierarchicalClustering()

template<typename Distance >
int cvflann::hierarchicalClustering ( const Matrix< typename Distance::ElementType > &  points,
Matrix< typename Distance::ResultType > &  centers,
const KMeansIndexParams params,
Distance  d = Distance() 
)

Performs a hierarchical clustering of the points passed as argument and then takes a cut in the the clustering tree to return a flat clustering.

Parameters
[in]pointsPoints to be clustered
centersThe computed cluster centres. Matrix should be preallocated and centers.rows is the number of clusters requested.
paramsClustering parameters (The same as for cvflann::KMeansIndex)
dDistance to be used for clustering (eg: cvflann::L2)
Returns
number of clusters computed (can be different than clusters.rows and is the highest number of the form (branching-1)*K+1 smaller than clusters.rows).

References cvflann::KMeansIndex< Distance >::buildIndex(), cvflann::KMeansIndex< Distance >::getClusterCenters(), and cv::kmeans().

Here is the call graph for this function:

◆ load_header()

IndexHeader cvflann::load_header ( FILE *  stream)
inline
Parameters
stream- Stream to load from
Returns
Index header

References cvflann::IndexHeader::signature.

Referenced by load_saved_index().

Here is the caller graph for this function:

◆ load_saved_index()

template<typename Distance >
NNIndex<Distance>* cvflann::load_saved_index ( const Matrix< typename Distance::ElementType > &  dataset,
const cv::String filename,
Distance  distance 
)

◆ load_value() [1/3]

◆ load_value() [2/3]

template<typename T >
void cvflann::load_value ( FILE *  stream,
cvflann::Matrix< T > &  value 
)

◆ load_value() [3/3]

template<typename T >
void cvflann::load_value ( FILE *  stream,
std::vector< T > &  value 
)

◆ log_verbosity()

void cvflann::log_verbosity ( int  level)
inline

Sets the log level used for all flann functions.

Parameters
levelVerbosity level

References cvflann::Logger::setLevel().

Here is the call graph for this function:

◆ operator<<()

std::ostream& cvflann::operator<< ( std::ostream &  out,
const any any_val 
)
inline

References cvflann::anyimpl::base_any_policy::print().

Here is the call graph for this function:

◆ optimizeSimplexDownhill()

template<typename T , typename F >
float cvflann::optimizeSimplexDownhill ( T *  points,
int  n,
func,
float *  vals = NULL 
)

Simplex downhill optimization function.

Preconditions: points is a 2D mattrix of size (n+1) x n func is the cost function taking n an array of n params and returning float vals is the cost function in the n+1 simplex points, if NULL it will be computed

Postcondition: returns optimum value and points[0..n] are the optimum parameters

References addValue(), and cvflann::Logger::info().

Here is the call graph for this function:

◆ print_params() [1/2]

void cvflann::print_params ( const IndexParams params,
std::ostream &  stream 
)
inline

Referenced by cvflann::AutotunedIndex< Distance >::buildIndex(), and print_params().

Here is the caller graph for this function:

◆ print_params() [2/2]

void cvflann::print_params ( const IndexParams params)
inline

References print_params().

Here is the call graph for this function:

◆ rand()

int cvflann::rand ( )
inline

References cv::RNG::next(), cv::theRNG(), and cv::RNG::uniform().

Referenced by rand_double(), rand_int(), and random_sample().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rand_double()

double cvflann::rand_double ( double  high = 1.0,
double  low = 0 
)
inline

Generates a random double value.

Parameters
highUpper limit
lowLower limit
Returns
Random double value

References rand().

Referenced by cvflann::KMeansIndex< Distance >::chooseCentersKMeanspp().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rand_int()

int cvflann::rand_int ( int  high = RAND_MAX,
int  low = 0 
)
inline

Generates a random integer value.

Parameters
highUpper limit
lowLower limit
Returns
Random integer value

References rand().

Referenced by cvflann::KMeansIndex< Distance >::chooseCentersGonzales(), cvflann::KMeansIndex< Distance >::chooseCentersKMeanspp(), cvflann::KDTreeIndex< Distance >::getParameters(), and random_sample().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ random_sample() [1/2]

template<typename T >
Matrix<T> cvflann::random_sample ( Matrix< T > &  srcMatrix,
long  size,
bool  remove = false 
)

References rand_int().

Referenced by cvflann::AutotunedIndex< Distance >::getType().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ random_sample() [2/2]

template<typename T >
Matrix<T> cvflann::random_sample ( const Matrix< T > &  srcMatrix,
size_t  size 
)

References cvflann::UniqueRandom::next(), and rand().

Here is the call graph for this function:

◆ save_header()

template<typename Distance >
void cvflann::save_header ( FILE *  stream,
const NNIndex< Distance > &  index 
)

Saves index header to stream.

Parameters
stream- Stream to save to
index- The index to save

References cvflann::IndexHeader::cols, cvflann::IndexHeader::data_type, cvflann::NNIndex< Distance >::getType(), cvflann::IndexHeader::index_type, cvflann::IndexHeader::rows, cvflann::IndexHeader::signature, cvflann::NNIndex< Distance >::size(), cvflann::NNIndex< Distance >::veclen(), and cvflann::IndexHeader::version.

Referenced by cvflann::Index< cv::L1< ElementType > >::save().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_value() [1/3]

◆ save_value() [2/3]

template<typename T >
void cvflann::save_value ( FILE *  stream,
const cvflann::Matrix< T > &  value 
)

◆ save_value() [3/3]

template<typename T >
void cvflann::save_value ( FILE *  stream,
const std::vector< T > &  value 
)

◆ search_with_ground_truth()

template<typename Distance >
float cvflann::search_with_ground_truth ( NNIndex< Distance > &  index,
const Matrix< typename Distance::ElementType > &  inputData,
const Matrix< typename Distance::ElementType > &  testData,
const Matrix< int > &  matches,
int  nn,
int  checks,
float &  time,
typename Distance::ResultType &  dist,
const Distance &  distance,
int  skipMatches 
)

◆ seed_random()

void cvflann::seed_random ( unsigned int  seed)
inline

Seeds the random number generator.

Parameters
seedRandom seed

References cv::theRNG().

Here is the call graph for this function:

◆ set_distance_type()

void cvflann::set_distance_type ( flann_distance_t  distance_type,
int  order 
)

◆ test_index_checks()

template<typename Distance >
float cvflann::test_index_checks ( NNIndex< Distance > &  index,
const Matrix< typename Distance::ElementType > &  inputData,
const Matrix< typename Distance::ElementType > &  testData,
const Matrix< int > &  matches,
int  checks,
float &  precision,
const Distance &  distance,
int  nn = 1,
int  skipMatches = 0 
)

References cvflann::Logger::info(), and search_with_ground_truth().

Here is the call graph for this function:

◆ test_index_precision()

template<typename Distance >
float cvflann::test_index_precision ( NNIndex< Distance > &  index,
const Matrix< typename Distance::ElementType > &  inputData,
const Matrix< typename Distance::ElementType > &  testData,
const Matrix< int > &  matches,
float  precision,
int &  checks,
const Distance &  distance,
int  nn = 1,
int  skipMatches = 0 
)

References cvflann::Logger::info(), and search_with_ground_truth().

Referenced by cvflann::AutotunedIndex< Distance >::getType().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_index_precisions()

template<typename Distance >
void cvflann::test_index_precisions ( NNIndex< Distance > &  index,
const Matrix< typename Distance::ElementType > &  inputData,
const Matrix< typename Distance::ElementType > &  testData,
const Matrix< int > &  matches,
float *  precisions,
int  precisions_length,
const Distance &  distance,
int  nn = 1,
int  skipMatches = 0,
float  maxTime = 0 
)

References cvflann::Logger::info(), search_with_ground_truth(), and cv::sort().

Here is the call graph for this function:

Variable Documentation

◆ BLOCKSIZE

const size_t cvflann::BLOCKSIZE =8192

◆ WORDSIZE

const size_t cvflann::WORDSIZE =16

Pooled storage allocator.

The following routines allow for the efficient allocation of storage in small chunks from a specified pool. Rather than allowing each structure to be freed individually, an entire pool of storage is freed at once. This method has two advantages over just using malloc() and free(). First, it is far more efficient for allocating small objects, as there is no overhead for remembering all the information needed to free each object or consolidating fragmented memory. Second, the decision about how long to keep an object is made at the time of allocation, and there is no need to track down all the objects to free them.