Logo
OpenCV  2.4.13.5
Open Source Computer Vision
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
cvflann Namespace Reference

Namespaces

  anyimpl
 
  lsh
 

Classes

struct   Accumulator
 
 
struct   Accumulator< int >
 
 
 
 
 
struct   any
 
class   AutotunedIndex
 
 
struct   BranchStruct
 
struct   ChiSquareDistance
 
class   CompositeIndex
 
 
class   CreatorNotFound
 
struct   Datatype
 
struct   Datatype< char >
 
struct   Datatype< double >
 
struct   Datatype< float >
 
struct   Datatype< int >
 
struct   Datatype< short >
 
 
 
 
class   DynamicBitset
 
class   False
 
class   FLANNException
 
struct   Hamming
 
struct   Hamming2
 
struct   HammingLUT
 
struct   HammingLUT2
 
class   Heap
 
struct   HellingerDistance
 
 
 
 
class   Index
 
struct   index_creator
 
 
 
struct   IndexHeader
 
class   KDTreeIndex
 
struct   KDTreeIndexParams
 
 
 
struct   KL_Divergence
 
class   KMeansIndex
 
struct   KMeansIndexParams
 
 
class   KNNResultSet
 
 
 
struct   L1
 
struct   L2
 
struct   L2_Simple
 
class   LinearIndex
 
struct   LinearIndexParams
 
class   Logger
 
class   LshIndex
 
struct   LshIndexParams
 
class   Matrix
 
struct   MaxDistance
 
struct   MinkowskiDistance
 
class   NNIndex
 
class   ObjectFactory
 
class   PooledAllocator
 
class   RadiusResultSet
 
 
class   ResultSet
 
struct   SavedIndexParams
 
struct   SearchParams
 
struct   simpleDistance
 
 
 
 
 
 
struct   squareDistance
 
 
 
 
 
 
class   StartStopTimer
 
class   True
 
class   UniqueRandom
 
class   UniqueResultSet
 
class   UntypedMatrix
 
struct   ZeroIterator
 

Typedefs

typedef std::map< std::string, anyIndexParams
 

Enumerations

 
 
 
 
 
 

Functions

 
 
 
template<typename Distance >
NNIndex< Distance > *  load_saved_index (const Matrix< typename Distance::ElementType > &dataset, const std::string &filename, Distance distance)
 
template<typename Distance >
int  hierarchicalClustering (const Matrix< typename Distance::ElementType > &points, Matrix< typename Distance::ResultType > &centers, const KMeansIndexParams &params, Distance d=Distance())
 
template<typename T >
void  save_to_file (const cvflann::Matrix< T > &dataset, const std::string &filename, const std::string &name)
 
template<typename T >
void  load_from_file (cvflann::Matrix< T > &dataset, const std::string &filename, const std::string &name)
 
template<typename T >
abs (T x)
 
template<>
 
template<>
float  abs< float > (float x)
 
template<>
double  abs< double > (double x)
 
template<typename Distance >
Distance::ResultType  ensureSquareDistance (typename Distance::ResultType dist)
 
template<typename Distance >
Distance::ResultType  ensureSimpleDistance (typename Distance::ResultType dist)
 
template<typename T >
T *  allocate (size_t count=1)
 
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())
 
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 >
void  save_header (FILE *stream, const NNIndex< Distance > &index)
 
IndexHeader  load_header (FILE *stream)
 
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 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)
 
template<typename T >
get_param (const IndexParams &params, std::string name, const T &default_value)
 
template<typename T >
get_param (const IndexParams &params, std::string name)
 
void  print_params (const IndexParams &params, std::ostream &stream)
 
void  print_params (const IndexParams &params)
 
int  countCorrectMatches (int *neighbors, int *groundTruth, int n)
 
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)
 
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)
 
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)
 
 
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)
 
void  seed_random (unsigned int seed)
 
double  rand_double (double high=1.0, double low=0)
 
int  rand_int (int high=RAND_MAX, int low=0)
 
template<typename Distance >
NNIndex< Distance > *  create_index_by_type (const Matrix< typename Distance::ElementType > &dataset, const IndexParams &params, const Distance &distance)
 
std::ostream &  operator<< (std::ostream &out, const any &any_val)
 
template<typename T >
void  addValue (int pos, float val, float *vals, T *point, T *points, int n)
 
template<typename T , typename F >
float  optimizeSimplexDownhill (T *points, int n, F func, float *vals=NULL)
 

Variables

const size_t  WORDSIZE =16
 
const size_t  BLOCKSIZE =8192
 

Typedef Documentation

§ IndexParams

typedef std::map<std::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 
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 ( T  x )
inline

§ abs< double>()

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

§ abs< float>()

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

§ abs< int>()

template<>
int cvflann::abs< int > ( int  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.

§ 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,
intneighbors,
intgroundTruth,
int  veclen,
int  n,
const Distance &  distance 
)

§ countCorrectMatches()

int cvflann::countCorrectMatches ( intneighbors,
intgroundTruth,
int  n 
)
inline

§ create_index_by_type()

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

§ dummyfunc()

void cvflann::dummyfunc ( )

§ 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,
intmatches,
int  nn,
int  skip = 0,
Distance  distance = Distance() 
)

§ flann_distance_type()

flann_distance_t cvflann::flann_distance_type ( )

§ get_param() [1/2]

template<typename T >
T cvflann::get_param ( const IndexParamsparams,
std::string  name,
const T &  default_value 
)

§ get_param() [2/2]

template<typename T >
T cvflann::get_param ( const IndexParamsparams,
std::string  name 
)

§ hierarchicalClustering()

template<typename Distance >
int cvflann::hierarchicalClustering ( const Matrix< typename Distance::ElementType > &  points,
Matrix< typename Distance::ResultType > &  centers,
const KMeansIndexParamsparams,
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] points Points to be clustered
centers The computed cluster centres. Matrix should be preallocated and centers.rows is the number of clusters requested.
params Clustering parameters (The same as for cvflann::KMeansIndex)
d Distance 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).

§ load_from_file()

template<typename T >
void cvflann::load_from_file ( cvflann::Matrix< T > &  dataset,
const std::string &  filename,
const std::string &  name 
)

§ load_header()

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

§ load_saved_index()

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

§ load_value() [1/3]

template<typename T >
void cvflann::load_value ( FILE *  stream,
T &  value,
size_t  count = 1 
)

§ 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
level Verbosity level

§ operator<<()

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

§ 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

§ print_params() [1/2]

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

§ print_params() [2/2]

void cvflann::print_params ( const IndexParamsparams )
inline

§ rand_double()

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

Generates a random double value.

Parameters
high Upper limit
low Lower limit
Returns
Random double value

§ rand_int()

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

Generates a random integer value.

Parameters
high Upper limit
low Lower limit
Returns
Random integer value

§ random_sample() [1/2]

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

§ random_sample() [2/2]

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

§ 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

§ save_to_file()

template<typename T >
void cvflann::save_to_file ( const cvflann::Matrix< T > &  dataset,
const std::string &  filename,
const std::string &  name 
)

§ save_value() [1/3]

template<typename T >
void cvflann::save_value ( FILE *  stream,
const T &  value,
size_t  count = 1 
)

§ 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
seed Random seed

§ set_distance_type()

FLANN_DEPRECATED 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 
)

§ 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,
intchecks,
const Distance &  distance,
int  nn = 1,
int  skipMatches = 0 
)

§ 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 
)

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.

AltStyle によって変換されたページ (->オリジナル) /