ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
flann.cpp File Reference
#include "flann.h"
Include dependency graph for flann.cpp:

Go to the source code of this file.

Macros

#define FLANN_FIRST_MATCH
 

Functions

flann::IndexParams create_parameters (FLANNParameters *p)
 
flann::SearchParams create_search_params (FLANNParameters *p)
 
void update_flann_parameters (const IndexParams &params, FLANNParameters *flann_params)
 
void init_flann_parameters (FLANNParameters *p)
 
void flann_log_verbosity (int level)
 
void flann_set_distance_type (flann_distance_t distance_type, int order)
 
flann_distance_t flann_get_distance_type ()
 
int flann_get_distance_order ()
 
template<typename Distance >
flann_index_t __flann_build_index (typename Distance::ElementType *dataset, int rows, int cols, float *speedup, FLANNParameters *flann_params, Distance d=Distance())
 
template<typename T >
flann_index_t _flann_build_index (T *dataset, int rows, int cols, float *speedup, FLANNParameters *flann_params)
 
flann_index_t flann_build_index (float *dataset, int rows, int cols, float *speedup, FLANNParameters *flann_params)
 
flann_index_t flann_build_index_float (float *dataset, int rows, int cols, float *speedup, FLANNParameters *flann_params)
 
flann_index_t flann_build_index_double (double *dataset, int rows, int cols, float *speedup, FLANNParameters *flann_params)
 
flann_index_t flann_build_index_byte (unsigned char *dataset, int rows, int cols, float *speedup, FLANNParameters *flann_params)
 
flann_index_t flann_build_index_int (int *dataset, int rows, int cols, float *speedup, FLANNParameters *flann_params)
 
template<typename Distance >
int __flann_add_points (flann_index_t index_ptr, typename Distance::ElementType *points, int rows, int columns, float rebuild_threshold)
 
template<typename T >
int _flann_add_points (flann_index_t index_ptr, T *points, int rows, int columns, float rebuild_threshold)
 
int flann_add_points (flann_index_t index_ptr, float *points, int rows, int columns, float rebuild_threshold)
 
int flann_add_points_float (flann_index_t index_ptr, float *points, int rows, int columns, float rebuild_threshold)
 
int flann_add_points_double (flann_index_t index_ptr, double *points, int rows, int columns, float rebuild_threshold)
 
int flann_add_points_byte (flann_index_t index_ptr, unsigned char *points, int rows, int columns, float rebuild_threshold)
 
int flann_add_points_int (flann_index_t index_ptr, int *points, int rows, int columns, float rebuild_threshold)
 
template<typename Distance >
int __flann_remove_point (flann_index_t index_ptr, unsigned int point_id_uint)
 
template<typename T >
int _flann_remove_point (flann_index_t index_ptr, unsigned int point_id)
 
int flann_remove_point (flann_index_t index_ptr, unsigned int point_id)
 
int flann_remove_point_float (flann_index_t index_ptr, unsigned int point_id)
 
int flann_remove_point_double (flann_index_t index_ptr, unsigned int point_id)
 
int flann_remove_point_byte (flann_index_t index_ptr, unsigned int point_id)
 
int flann_remove_point_int (flann_index_t index_ptr, unsigned int point_id)
 
template<typename Distance >
Distance::ElementType * __flann_get_point (flann_index_t index_ptr, unsigned int point_id_uint)
 
template<typename T >
T * _flann_get_point (flann_index_t index_ptr, unsigned int point_id)
 
float * flann_get_point (flann_index_t index_ptr, unsigned int point_id)
 
float * flann_get_point_float (flann_index_t index_ptr, unsigned int point_id)
 
double * flann_get_point_double (flann_index_t index_ptr, unsigned int point_id)
 
unsigned char * flann_get_point_byte (flann_index_t index_ptr, unsigned int point_id)
 
int * flann_get_point_int (flann_index_t index_ptr, unsigned int point_id)
 
template<typename Distance >
unsigned int __flann_veclen (flann_index_t index_ptr)
 
template<typename T >
unsigned int _flann_veclen (flann_index_t index_ptr)
 
unsigned int flann_veclen (flann_index_t index_ptr)
 
unsigned int flann_veclen_float (flann_index_t index_ptr)
 
unsigned int flann_veclen_double (flann_index_t index_ptr)
 
unsigned int flann_veclen_byte (flann_index_t index_ptr)
 
unsigned int flann_veclen_int (flann_index_t index_ptr)
 
template<typename Distance >
unsigned int __flann_size (flann_index_t index_ptr)
 
template<typename T >
unsigned int _flann_size (flann_index_t index_ptr)
 
unsigned int flann_size (flann_index_t index_ptr)
 
unsigned int flann_size_float (flann_index_t index_ptr)
 
unsigned int flann_size_double (flann_index_t index_ptr)
 
unsigned int flann_size_byte (flann_index_t index_ptr)
 
unsigned int flann_size_int (flann_index_t index_ptr)
 
template<typename Distance >
int __flann_used_memory (flann_index_t index_ptr)
 
template<typename T >
int _flann_used_memory (flann_index_t index_ptr)
 
int flann_used_memory (flann_index_t index_ptr)
 
int flann_used_memory_float (flann_index_t index_ptr)
 
int flann_used_memory_double (flann_index_t index_ptr)
 
int flann_used_memory_byte (flann_index_t index_ptr)
 
int flann_used_memory_int (flann_index_t index_ptr)
 
template<typename Distance >
int __flann_save_index (flann_index_t index_ptr, char *filename)
 
template<typename T >
int _flann_save_index (flann_index_t index_ptr, char *filename)
 
int flann_save_index (flann_index_t index_ptr, char *filename)
 
int flann_save_index_float (flann_index_t index_ptr, char *filename)
 
int flann_save_index_double (flann_index_t index_ptr, char *filename)
 
int flann_save_index_byte (flann_index_t index_ptr, char *filename)
 
int flann_save_index_int (flann_index_t index_ptr, char *filename)
 
template<typename Distance >
flann_index_t __flann_load_index (char *filename, typename Distance::ElementType *dataset, int rows, int cols, Distance d=Distance())
 
template<typename T >
flann_index_t _flann_load_index (char *filename, T *dataset, int rows, int cols)
 
flann_index_t flann_load_index (char *filename, float *dataset, int rows, int cols)
 
flann_index_t flann_load_index_float (char *filename, float *dataset, int rows, int cols)
 
flann_index_t flann_load_index_double (char *filename, double *dataset, int rows, int cols)
 
flann_index_t flann_load_index_byte (char *filename, unsigned char *dataset, int rows, int cols)
 
flann_index_t flann_load_index_int (char *filename, int *dataset, int rows, int cols)
 
template<typename Distance >
int __flann_find_nearest_neighbors (typename Distance::ElementType *dataset, int rows, int cols, typename Distance::ElementType *testset, int tcount, int *result, typename Distance::ResultType *dists, int nn, FLANNParameters *flann_params, Distance d=Distance())
 
template<typename T , typename R >
int _flann_find_nearest_neighbors (T *dataset, int rows, int cols, T *testset, int tcount, int *result, R *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors (float *dataset, int rows, int cols, float *testset, int tcount, int *result, float *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_float (float *dataset, int rows, int cols, float *testset, int tcount, int *result, float *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_double (double *dataset, int rows, int cols, double *testset, int tcount, int *result, double *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_byte (unsigned char *dataset, int rows, int cols, unsigned char *testset, int tcount, int *result, float *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_int (int *dataset, int rows, int cols, int *testset, int tcount, int *result, float *dists, int nn, FLANNParameters *flann_params)
 
template<typename Distance >
int __flann_find_nearest_neighbors_index (flann_index_t index_ptr, typename Distance::ElementType *testset, int tcount, int *result, typename Distance::ResultType *dists, int nn, FLANNParameters *flann_params)
 
template<typename T , typename R >
int _flann_find_nearest_neighbors_index (flann_index_t index_ptr, T *testset, int tcount, int *result, R *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_index (flann_index_t index_ptr, float *testset, int tcount, int *result, float *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_index_float (flann_index_t index_ptr, float *testset, int tcount, int *result, float *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_index_double (flann_index_t index_ptr, double *testset, int tcount, int *result, double *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_index_byte (flann_index_t index_ptr, unsigned char *testset, int tcount, int *result, float *dists, int nn, FLANNParameters *flann_params)
 
int flann_find_nearest_neighbors_index_int (flann_index_t index_ptr, int *testset, int tcount, int *result, float *dists, int nn, FLANNParameters *flann_params)
 
template<typename Distance >
int __flann_radius_search (flann_index_t index_ptr, typename Distance::ElementType *query, int *indices, typename Distance::ResultType *dists, int max_nn, float radius, FLANNParameters *flann_params)
 
template<typename T , typename R >
int _flann_radius_search (flann_index_t index_ptr, T *query, int *indices, R *dists, int max_nn, float radius, FLANNParameters *flann_params)
 
int flann_radius_search (flann_index_t index_ptr, float *query, int *indices, float *dists, int max_nn, float radius, FLANNParameters *flann_params)
 
int flann_radius_search_float (flann_index_t index_ptr, float *query, int *indices, float *dists, int max_nn, float radius, FLANNParameters *flann_params)
 
int flann_radius_search_double (flann_index_t index_ptr, double *query, int *indices, double *dists, int max_nn, float radius, FLANNParameters *flann_params)
 
int flann_radius_search_byte (flann_index_t index_ptr, unsigned char *query, int *indices, float *dists, int max_nn, float radius, FLANNParameters *flann_params)
 
int flann_radius_search_int (flann_index_t index_ptr, int *query, int *indices, float *dists, int max_nn, float radius, FLANNParameters *flann_params)
 
template<typename Distance >
int __flann_free_index (flann_index_t index_ptr, FLANNParameters *flann_params)
 
template<typename T >
int _flann_free_index (flann_index_t index_ptr, FLANNParameters *flann_params)
 
int flann_free_index (flann_index_t index_ptr, FLANNParameters *flann_params)
 
int flann_free_index_float (flann_index_t index_ptr, FLANNParameters *flann_params)
 
int flann_free_index_double (flann_index_t index_ptr, FLANNParameters *flann_params)
 
int flann_free_index_byte (flann_index_t index_ptr, FLANNParameters *flann_params)
 
int flann_free_index_int (flann_index_t index_ptr, FLANNParameters *flann_params)
 
template<typename Distance >
int __flann_compute_cluster_centers (typename Distance::ElementType *dataset, int rows, int cols, int clusters, typename Distance::ResultType *result, FLANNParameters *flann_params, Distance d=Distance())
 
template<typename T , typename R >
int _flann_compute_cluster_centers (T *dataset, int rows, int cols, int clusters, R *result, FLANNParameters *flann_params)
 
int flann_compute_cluster_centers (float *dataset, int rows, int cols, int clusters, float *result, FLANNParameters *flann_params)
 
int flann_compute_cluster_centers_float (float *dataset, int rows, int cols, int clusters, float *result, FLANNParameters *flann_params)
 
int flann_compute_cluster_centers_double (double *dataset, int rows, int cols, int clusters, double *result, FLANNParameters *flann_params)
 
int flann_compute_cluster_centers_byte (unsigned char *dataset, int rows, int cols, int clusters, float *result, FLANNParameters *flann_params)
 
int flann_compute_cluster_centers_int (int *dataset, int rows, int cols, int clusters, float *result, FLANNParameters *flann_params)
 

Variables

struct FLANNParameters DEFAULT_FLANN_PARAMETERS
 
flann_distance_t flann_distance_type = FLANN_DIST_EUCLIDEAN
 
int flann_distance_order = 3
 

Macro Definition Documentation

◆ FLANN_FIRST_MATCH

#define FLANN_FIRST_MATCH

Definition at line 29 of file flann.cpp.

Function Documentation

◆ __flann_add_points()

template<typename Distance >
int __flann_add_points ( flann_index_t  index_ptr,
typename Distance::ElementType *  points,
int  rows,
int  columns,
float  rebuild_threshold 
)

Definition at line 292 of file flann.cpp.

References flann::Index< Distance >::addPoints(), flann::Logger::error(), NULL, and points.

◆ __flann_build_index()

◆ __flann_compute_cluster_centers()

template<typename Distance >
int __flann_compute_cluster_centers ( typename Distance::ElementType *  dataset,
int  rows,
int  cols,
int  clusters,
typename Distance::ResultType *  result,
FLANNParameters flann_params,
Distance  d = Distance() 
)

◆ __flann_find_nearest_neighbors()

template<typename Distance >
int __flann_find_nearest_neighbors ( typename Distance::ElementType *  dataset,
int  rows,
int  cols,
typename Distance::ElementType *  testset,
int  tcount,
int *  result,
typename Distance::ResultType *  dists,
int  nn,
FLANNParameters flann_params,
Distance  d = Distance() 
)

◆ __flann_find_nearest_neighbors_index()

template<typename Distance >
int __flann_find_nearest_neighbors_index ( flann_index_t  index_ptr,
typename Distance::ElementType *  testset,
int  tcount,
int *  result,
typename Distance::ResultType *  dists,
int  nn,
FLANNParameters flann_params 
)

◆ __flann_free_index()

template<typename Distance >
int __flann_free_index ( flann_index_t  index_ptr,
FLANNParameters flann_params 
)

Definition at line 1168 of file flann.cpp.

References flann::Logger::error(), init_flann_parameters(), and NULL.

◆ __flann_get_point()

template<typename Distance >
Distance::ElementType* __flann_get_point ( flann_index_t  index_ptr,
unsigned int  point_id_uint 
)

Definition at line 440 of file flann.cpp.

References flann::Logger::error(), flann::Index< Distance >::getPoint(), and NULL.

◆ __flann_load_index()

template<typename Distance >
flann_index_t __flann_load_index ( char *  filename,
typename Distance::ElementType *  dataset,
int  rows,
int  cols,
Distance  d = Distance() 
)

Definition at line 793 of file flann.cpp.

References flann::Logger::error(), filename, and NULL.

◆ __flann_radius_search()

template<typename Distance >
int __flann_radius_search ( flann_index_t  index_ptr,
typename Distance::ElementType *  query,
int *  indices,
typename Distance::ResultType *  dists,
int  max_nn,
float  radius,
FLANNParameters flann_params 
)

◆ __flann_remove_point()

template<typename Distance >
int __flann_remove_point ( flann_index_t  index_ptr,
unsigned int  point_id_uint 
)

Definition at line 368 of file flann.cpp.

References flann::Logger::error(), NULL, and flann::Index< Distance >::removePoint().

◆ __flann_save_index()

template<typename Distance >
int __flann_save_index ( flann_index_t  index_ptr,
char *  filename 
)

Definition at line 718 of file flann.cpp.

References flann::Logger::error(), filename, NULL, and flann::Index< Distance >::save().

◆ __flann_size()

template<typename Distance >
unsigned int __flann_size ( flann_index_t  index_ptr)

Definition at line 580 of file flann.cpp.

References flann::Logger::error(), NULL, and flann::Index< Distance >::size().

◆ __flann_used_memory()

template<typename Distance >
int __flann_used_memory ( flann_index_t  index_ptr)

Definition at line 649 of file flann.cpp.

References flann::Logger::error(), NULL, and flann::Index< Distance >::usedMemory().

◆ __flann_veclen()

template<typename Distance >
unsigned int __flann_veclen ( flann_index_t  index_ptr)

Definition at line 511 of file flann.cpp.

References flann::Logger::error(), NULL, and flann::Index< Distance >::veclen().

◆ _flann_add_points()

template<typename T >
int _flann_add_points ( flann_index_t  index_ptr,
T *  points,
int  rows,
int  columns,
float  rebuild_threshold 
)

◆ _flann_build_index()

template<typename T >
flann_index_t _flann_build_index ( T *  dataset,
int  rows,
int  cols,
float *  speedup,
FLANNParameters flann_params 
)

◆ _flann_compute_cluster_centers()

◆ _flann_find_nearest_neighbors()

template<typename T , typename R >
int _flann_find_nearest_neighbors ( T *  dataset,
int  rows,
int  cols,
T *  testset,
int  tcount,
int *  result,
R *  dists,
int  nn,
FLANNParameters flann_params 
)

◆ _flann_find_nearest_neighbors_index()

◆ _flann_free_index()

◆ _flann_get_point()

template<typename T >
T* _flann_get_point ( flann_index_t  index_ptr,
unsigned int  point_id 
)

◆ _flann_load_index()

template<typename T >
flann_index_t _flann_load_index ( char *  filename,
T *  dataset,
int  rows,
int  cols 
)

◆ _flann_radius_search()

template<typename T , typename R >
int _flann_radius_search ( flann_index_t  index_ptr,
T *  query,
int *  indices,
R *  dists,
int  max_nn,
float  radius,
FLANNParameters flann_params 
)

◆ _flann_remove_point()

template<typename T >
int _flann_remove_point ( flann_index_t  index_ptr,
unsigned int  point_id 
)

◆ _flann_save_index()

◆ _flann_size()

◆ _flann_used_memory()

◆ _flann_veclen()

◆ create_parameters()

◆ create_search_params()

◆ flann_add_points()

int flann_add_points ( flann_index_t  index_ptr,
float *  points,
int  rows,
int  columns,
float  rebuild_threshold 
)

Adds points to pre-built index.

Params: index_ptr = pointer to index, must already be built points = pointer to array of points rows = number of points to add columns = feature dimensionality rebuild_threshold = reallocs index when it grows by factor of rebuild_threshold. A smaller value results is more space efficient but less computationally efficient. Must be greater than 1.

Returns: 0 if success otherwise -1

Definition at line 342 of file flann.cpp.

References points.

◆ flann_add_points_byte()

int flann_add_points_byte ( flann_index_t  index_ptr,
unsigned char *  points,
int  rows,
int  columns,
float  rebuild_threshold 
)

Definition at line 357 of file flann.cpp.

References points.

◆ flann_add_points_double()

int flann_add_points_double ( flann_index_t  index_ptr,
double *  points,
int  rows,
int  columns,
float  rebuild_threshold 
)

Definition at line 352 of file flann.cpp.

References points.

◆ flann_add_points_float()

int flann_add_points_float ( flann_index_t  index_ptr,
float *  points,
int  rows,
int  columns,
float  rebuild_threshold 
)

Definition at line 347 of file flann.cpp.

References points.

◆ flann_add_points_int()

int flann_add_points_int ( flann_index_t  index_ptr,
int *  points,
int  rows,
int  columns,
float  rebuild_threshold 
)

Definition at line 362 of file flann.cpp.

References points.

◆ flann_build_index()

flann_index_t flann_build_index ( float *  dataset,
int  rows,
int  cols,
float *  speedup,
struct FLANNParameters flann_params 
)

Builds and returns an index. It uses autotuning if the target_precision field of index_params is between 0 and 1, or the parameters specified if it's -1.

Params: dataset = pointer to a data set stored in row major order rows = number of rows (features) in the dataset cols = number of columns in the dataset (feature dimensionality) speedup = speedup over linear search, estimated if using autotuning, output parameter index_params = index related parameters flann_params = generic flann parameters

Returns: the newly created index or a number <0 for error

Definition at line 266 of file flann.cpp.

◆ flann_build_index_byte()

flann_index_t flann_build_index_byte ( unsigned char *  dataset,
int  rows,
int  cols,
float *  speedup,
FLANNParameters flann_params 
)

Definition at line 281 of file flann.cpp.

◆ flann_build_index_double()

flann_index_t flann_build_index_double ( double *  dataset,
int  rows,
int  cols,
float *  speedup,
FLANNParameters flann_params 
)

Definition at line 276 of file flann.cpp.

◆ flann_build_index_float()

flann_index_t flann_build_index_float ( float *  dataset,
int  rows,
int  cols,
float *  speedup,
FLANNParameters flann_params 
)

Definition at line 271 of file flann.cpp.

◆ flann_build_index_int()

flann_index_t flann_build_index_int ( int *  dataset,
int  rows,
int  cols,
float *  speedup,
FLANNParameters flann_params 
)

Definition at line 286 of file flann.cpp.

◆ flann_compute_cluster_centers()

int flann_compute_cluster_centers ( float *  dataset,
int  rows,
int  cols,
int  clusters,
float *  result,
struct FLANNParameters flann_params 
)

Clusters the features in the dataset using a hierarchical kmeans clustering approach. This is significantly faster than using a flat kmeans clustering for a large number of clusters.

Params: dataset = pointer to a data set stored in row major order rows = number of rows (features) in the dataset cols = number of columns in the dataset (feature dimensionality) clusters = number of cluster to compute result = memory buffer where the output cluster centers are storred index_params = used to specify the kmeans tree parameters (branching factor, max number of iterations to use) flann_params = generic flann parameters

Returns: number of clusters computed or a number <0 for error. This number can be different than the number of clusters requested, due to the way hierarchical clusters are computed. The number of clusters returned will be the highest number of the form (branch_size-1)*K+1 smaller than the number of clusters requested.

Definition at line 1296 of file flann.cpp.

References _flann_compute_cluster_centers(), and result.

◆ flann_compute_cluster_centers_byte()

int flann_compute_cluster_centers_byte ( unsigned char *  dataset,
int  rows,
int  cols,
int  clusters,
float *  result,
FLANNParameters flann_params 
)

Definition at line 1311 of file flann.cpp.

References _flann_compute_cluster_centers(), and result.

◆ flann_compute_cluster_centers_double()

int flann_compute_cluster_centers_double ( double *  dataset,
int  rows,
int  cols,
int  clusters,
double *  result,
FLANNParameters flann_params 
)

Definition at line 1306 of file flann.cpp.

References _flann_compute_cluster_centers(), and result.

◆ flann_compute_cluster_centers_float()

int flann_compute_cluster_centers_float ( float *  dataset,
int  rows,
int  cols,
int  clusters,
float *  result,
FLANNParameters flann_params 
)

Definition at line 1301 of file flann.cpp.

References _flann_compute_cluster_centers(), and result.

◆ flann_compute_cluster_centers_int()

int flann_compute_cluster_centers_int ( int *  dataset,
int  rows,
int  cols,
int  clusters,
float *  result,
FLANNParameters flann_params 
)

Definition at line 1316 of file flann.cpp.

References _flann_compute_cluster_centers(), and result.

◆ flann_find_nearest_neighbors()

int flann_find_nearest_neighbors ( float *  dataset,
int  rows,
int  cols,
float *  testset,
int  trows,
int *  indices,
float *  dists,
int  nn,
struct FLANNParameters flann_params 
)

Builds an index and uses it to find nearest neighbors.

Params: dataset = pointer to a data set stored in row major order rows = number of rows (features) in the dataset cols = number of columns in the dataset (feature dimensionality) testset = pointer to a query set stored in row major order trows = number of rows (features) in the query dataset (same dimensionality as features in the dataset) indices = pointer to matrix for the indices of the nearest neighbors of the testset features in the dataset (must have trows number of rows and nn number of columns) nn = how many nearest neighbors to return flann_params = generic flann parameters

Returns: zero or -1 for error

Definition at line 924 of file flann.cpp.

References _flann_find_nearest_neighbors(), and result.

◆ flann_find_nearest_neighbors_byte()

int flann_find_nearest_neighbors_byte ( unsigned char *  dataset,
int  rows,
int  cols,
unsigned char *  testset,
int  tcount,
int *  result,
float *  dists,
int  nn,
FLANNParameters flann_params 
)

Definition at line 939 of file flann.cpp.

References _flann_find_nearest_neighbors(), and result.

◆ flann_find_nearest_neighbors_double()

int flann_find_nearest_neighbors_double ( double *  dataset,
int  rows,
int  cols,
double *  testset,
int  tcount,
int *  result,
double *  dists,
int  nn,
FLANNParameters flann_params 
)

Definition at line 934 of file flann.cpp.

References _flann_find_nearest_neighbors(), and result.

◆ flann_find_nearest_neighbors_float()

int flann_find_nearest_neighbors_float ( float *  dataset,
int  rows,
int  cols,
float *  testset,
int  tcount,
int *  result,
float *  dists,
int  nn,
FLANNParameters flann_params 
)

Definition at line 929 of file flann.cpp.

References _flann_find_nearest_neighbors(), and result.

◆ flann_find_nearest_neighbors_index()

int flann_find_nearest_neighbors_index ( flann_index_t  index_id,
float *  testset,
int  trows,
int *  indices,
float *  dists,
int  nn,
struct FLANNParameters flann_params 
)

Searches for nearest neighbors using the index provided

Params: index_id = the index (constructed previously using flann_build_index). testset = pointer to a query set stored in row major order trows = number of rows (features) in the query dataset (same dimensionality as features in the dataset) indices = pointer to matrix for the indices of the nearest neighbors of the testset features in the dataset (must have trows number of rows and nn number of columns) dists = pointer to matrix for the distances of the nearest neighbors of the testset features in the dataset (must have trows number of rows and 1 column) nn = how many nearest neighbors to return flann_params = generic flann parameters

Returns: zero or a number <0 for error

Definition at line 1014 of file flann.cpp.

References _flann_find_nearest_neighbors_index(), and result.

◆ flann_find_nearest_neighbors_index_byte()

int flann_find_nearest_neighbors_index_byte ( flann_index_t  index_ptr,
unsigned char *  testset,
int  tcount,
int *  result,
float *  dists,
int  nn,
FLANNParameters flann_params 
)

Definition at line 1029 of file flann.cpp.

References _flann_find_nearest_neighbors_index(), and result.

◆ flann_find_nearest_neighbors_index_double()

int flann_find_nearest_neighbors_index_double ( flann_index_t  index_ptr,
double *  testset,
int  tcount,
int *  result,
double *  dists,
int  nn,
FLANNParameters flann_params 
)

Definition at line 1024 of file flann.cpp.

References _flann_find_nearest_neighbors_index(), and result.

◆ flann_find_nearest_neighbors_index_float()

int flann_find_nearest_neighbors_index_float ( flann_index_t  index_ptr,
float *  testset,
int  tcount,
int *  result,
float *  dists,
int  nn,
FLANNParameters flann_params 
)

Definition at line 1019 of file flann.cpp.

References _flann_find_nearest_neighbors_index(), and result.

◆ flann_find_nearest_neighbors_index_int()

int flann_find_nearest_neighbors_index_int ( flann_index_t  index_ptr,
int *  testset,
int  tcount,
int *  result,
float *  dists,
int  nn,
FLANNParameters flann_params 
)

Definition at line 1034 of file flann.cpp.

References _flann_find_nearest_neighbors_index(), and result.

◆ flann_find_nearest_neighbors_int()

int flann_find_nearest_neighbors_int ( int *  dataset,
int  rows,
int  cols,
int *  testset,
int  tcount,
int *  result,
float *  dists,
int  nn,
FLANNParameters flann_params 
)

Definition at line 944 of file flann.cpp.

References _flann_find_nearest_neighbors(), and result.

◆ flann_free_index()

int flann_free_index ( flann_index_t  index_id,
struct FLANNParameters flann_params 
)

Deletes an index and releases the memory used by it.

Params: index_id = the index (constructed previously using flann_build_index). flann_params = generic flann parameters

Returns: zero or a number <0 for error

Definition at line 1216 of file flann.cpp.

◆ flann_free_index_byte()

int flann_free_index_byte ( flann_index_t  index_ptr,
FLANNParameters flann_params 
)

Definition at line 1231 of file flann.cpp.

◆ flann_free_index_double()

int flann_free_index_double ( flann_index_t  index_ptr,
FLANNParameters flann_params 
)

Definition at line 1226 of file flann.cpp.

◆ flann_free_index_float()

int flann_free_index_float ( flann_index_t  index_ptr,
FLANNParameters flann_params 
)

Definition at line 1221 of file flann.cpp.

◆ flann_free_index_int()

int flann_free_index_int ( flann_index_t  index_ptr,
FLANNParameters flann_params 
)

Definition at line 1236 of file flann.cpp.

◆ flann_get_distance_order()

int flann_get_distance_order ( )

Gets the distance order in use throughout FLANN (only applicable if minkowski distance is in use).

Definition at line 198 of file flann.cpp.

References flann_distance_order.

◆ flann_get_distance_type()

flann_distance_t flann_get_distance_type ( )

Gets the distance type in use throughout FLANN.

Definition at line 194 of file flann.cpp.

References flann_distance_type.

◆ flann_get_point()

float* flann_get_point ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Gets a point from a given index position.

index_ptr = pointer to pre-built index. point_id = index of datapoint to get.

Returns: pointer to datapoint or NULL on miss

Definition at line 485 of file flann.cpp.

◆ flann_get_point_byte()

unsigned char* flann_get_point_byte ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Definition at line 500 of file flann.cpp.

◆ flann_get_point_double()

double* flann_get_point_double ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Definition at line 495 of file flann.cpp.

◆ flann_get_point_float()

float* flann_get_point_float ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Definition at line 490 of file flann.cpp.

◆ flann_get_point_int()

int* flann_get_point_int ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Definition at line 505 of file flann.cpp.

◆ flann_load_index()

flann_index_t flann_load_index ( char *  filename,
float *  dataset,
int  rows,
int  cols 
)

Loads an index from a file.

Parameters
filenameFile to load the index from.
datasetThe dataset corresponding to the index.
rowsDataset tors
colsDataset columns
Returns

Definition at line 837 of file flann.cpp.

References filename.

◆ flann_load_index_byte()

flann_index_t flann_load_index_byte ( char *  filename,
unsigned char *  dataset,
int  rows,
int  cols 
)

Definition at line 852 of file flann.cpp.

References filename.

◆ flann_load_index_double()

flann_index_t flann_load_index_double ( char *  filename,
double *  dataset,
int  rows,
int  cols 
)

Definition at line 847 of file flann.cpp.

References filename.

◆ flann_load_index_float()

flann_index_t flann_load_index_float ( char *  filename,
float *  dataset,
int  rows,
int  cols 
)

Definition at line 842 of file flann.cpp.

References filename.

◆ flann_load_index_int()

flann_index_t flann_load_index_int ( char *  filename,
int *  dataset,
int  rows,
int  cols 
)

Definition at line 857 of file flann.cpp.

References filename.

◆ flann_log_verbosity()

void flann_log_verbosity ( int  level)

Sets the log level used for all flann functions (unless specified in FLANNParameters for each call

Params: level = verbosity level

Definition at line 179 of file flann.cpp.

References flann::log_verbosity().

Referenced by init_flann_parameters().

◆ flann_radius_search()

int flann_radius_search ( flann_index_t  index_ptr,
float *  query,
int *  indices,
float *  dists,
int  max_nn,
float  radius,
struct FLANNParameters flann_params 
)

Performs an radius search using an already constructed index.

In case of radius search, instead of always returning a predetermined number of nearest neighbours (for example the 10 nearest neighbours), the search will return all the neighbours found within a search radius of the query point.

The check parameter in the FLANNParameters below sets the level of approximation for the search by only visiting "checks" number of features in the index (the same way as for the KNN search). A lower value for checks will give a higher search speedup at the cost of potentially not returning all the neighbours in the specified radius.

Definition at line 1111 of file flann.cpp.

References _flann_radius_search().

◆ flann_radius_search_byte()

int flann_radius_search_byte ( flann_index_t  index_ptr,
unsigned char *  query,
int *  indices,
float *  dists,
int  max_nn,
float  radius,
FLANNParameters flann_params 
)

Definition at line 1144 of file flann.cpp.

References _flann_radius_search().

◆ flann_radius_search_double()

int flann_radius_search_double ( flann_index_t  index_ptr,
double *  query,
int *  indices,
double *  dists,
int  max_nn,
float  radius,
FLANNParameters flann_params 
)

Definition at line 1133 of file flann.cpp.

References _flann_radius_search().

◆ flann_radius_search_float()

int flann_radius_search_float ( flann_index_t  index_ptr,
float *  query,
int *  indices,
float *  dists,
int  max_nn,
float  radius,
FLANNParameters flann_params 
)

Definition at line 1122 of file flann.cpp.

References _flann_radius_search().

◆ flann_radius_search_int()

int flann_radius_search_int ( flann_index_t  index_ptr,
int *  query,
int *  indices,
float *  dists,
int  max_nn,
float  radius,
FLANNParameters flann_params 
)

Definition at line 1155 of file flann.cpp.

References _flann_radius_search().

◆ flann_remove_point()

int flann_remove_point ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Removes a point from a pre-built index.

index_ptr = pointer to pre-built index. point_id = index of datapoint to remove.

Definition at line 414 of file flann.cpp.

◆ flann_remove_point_byte()

int flann_remove_point_byte ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Definition at line 429 of file flann.cpp.

◆ flann_remove_point_double()

int flann_remove_point_double ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Definition at line 424 of file flann.cpp.

◆ flann_remove_point_float()

int flann_remove_point_float ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Definition at line 419 of file flann.cpp.

◆ flann_remove_point_int()

int flann_remove_point_int ( flann_index_t  index_ptr,
unsigned int  point_id 
)

Definition at line 434 of file flann.cpp.

◆ flann_save_index()

int flann_save_index ( flann_index_t  index_id,
char *  filename 
)

Saves the index to a file. Only the index is saved into the file, the dataset corresponding to the index is not saved.

Parameters
index_idThe index that should be saved
filenameThe filename the index should be saved to
Returns
Returns 0 on success, negative value on error.

Definition at line 766 of file flann.cpp.

References filename.

◆ flann_save_index_byte()

int flann_save_index_byte ( flann_index_t  index_ptr,
char *  filename 
)

Definition at line 781 of file flann.cpp.

References filename.

◆ flann_save_index_double()

int flann_save_index_double ( flann_index_t  index_ptr,
char *  filename 
)

Definition at line 776 of file flann.cpp.

References filename.

◆ flann_save_index_float()

int flann_save_index_float ( flann_index_t  index_ptr,
char *  filename 
)

Definition at line 771 of file flann.cpp.

References filename.

◆ flann_save_index_int()

int flann_save_index_int ( flann_index_t  index_ptr,
char *  filename 
)

Definition at line 786 of file flann.cpp.

References filename.

◆ flann_set_distance_type()

void flann_set_distance_type ( enum flann_distance_t  distance_type,
int  order 
)

Sets the distance type to use throughout FLANN. If distance type specified is MINKOWSKI, the second argument specifies which order the minkowski distance should have.

Definition at line 187 of file flann.cpp.

References flann_distance_order, and flann_distance_type.

◆ flann_size()

unsigned int flann_size ( flann_index_t  index_ptr)

Returns the dimensionality of datapoints stored in index.

index_ptr = pointer to pre-built index.

Definition at line 623 of file flann.cpp.

◆ flann_size_byte()

unsigned int flann_size_byte ( flann_index_t  index_ptr)

Definition at line 638 of file flann.cpp.

◆ flann_size_double()

unsigned int flann_size_double ( flann_index_t  index_ptr)

Definition at line 633 of file flann.cpp.

◆ flann_size_float()

unsigned int flann_size_float ( flann_index_t  index_ptr)

Definition at line 628 of file flann.cpp.

◆ flann_size_int()

unsigned int flann_size_int ( flann_index_t  index_ptr)

Definition at line 643 of file flann.cpp.

◆ flann_used_memory()

int flann_used_memory ( flann_index_t  index_ptr)

Returns the number of bytes consumed by the index.

index_ptr = pointer to pre-built index.

Definition at line 692 of file flann.cpp.

◆ flann_used_memory_byte()

int flann_used_memory_byte ( flann_index_t  index_ptr)

Definition at line 707 of file flann.cpp.

◆ flann_used_memory_double()

int flann_used_memory_double ( flann_index_t  index_ptr)

Definition at line 702 of file flann.cpp.

◆ flann_used_memory_float()

int flann_used_memory_float ( flann_index_t  index_ptr)

Definition at line 697 of file flann.cpp.

◆ flann_used_memory_int()

int flann_used_memory_int ( flann_index_t  index_ptr)

Definition at line 712 of file flann.cpp.

◆ flann_veclen()

unsigned int flann_veclen ( flann_index_t  index_ptr)

Returns the number of datapoints stored in index.

index_ptr = pointer to pre-built index.

Definition at line 554 of file flann.cpp.

◆ flann_veclen_byte()

unsigned int flann_veclen_byte ( flann_index_t  index_ptr)

Definition at line 569 of file flann.cpp.

◆ flann_veclen_double()

unsigned int flann_veclen_double ( flann_index_t  index_ptr)

Definition at line 564 of file flann.cpp.

◆ flann_veclen_float()

unsigned int flann_veclen_float ( flann_index_t  index_ptr)

Definition at line 559 of file flann.cpp.

◆ flann_veclen_int()

unsigned int flann_veclen_int ( flann_index_t  index_ptr)

Definition at line 574 of file flann.cpp.

◆ init_flann_parameters()

◆ update_flann_parameters()

Variable Documentation

◆ DEFAULT_FLANN_PARAMETERS

struct FLANNParameters DEFAULT_FLANN_PARAMETERS
Initial value:
= {
32, 0.0f,
0, -1, 0,
4, 4,
32, 11, FLANN_CENTERS_RANDOM, 0.2f,
0.9f, 0.01f, 0, 0.1f,
}
@ FLANN_LOG_NONE
Definition: defines.h:105
@ FLANN_INDEX_KDTREE
Definition: defines.h:82
@ FLANN_CENTERS_RANDOM
Definition: defines.h:97

Definition at line 1 of file flann.cpp.

◆ flann_distance_order

◆ flann_distance_type