MTF
FLANNParams.h
1 #ifndef MTF_FLANN_PARAMS_H
2 #define MTF_FLANN_PARAMS_H
3 
4 #include "mtf/Macros/common.h"
5 #include <flann/flann.hpp>
6 
7 _MTF_BEGIN_NAMESPACE
8 
10 struct FLANNParams{
11 
12  enum class IdxType{
13  GNN, KDTree, HierarchicalClustering, KMeans, Composite, Linear,
14  KDTreeSingle, KDTreeCuda3d, Autotuned
15  };
16  enum class SearchType{ KNN, Radius };
17  static const char* toString(IdxType index_type);
18  static const char* toString(SearchType index_type);
19 
20  const flann::IndexParams getIndexParams(IdxType _index_type = IdxType::KDTree,
21  bool load_index=false, std::string saved_idx_path="");
22  void updateSearchParams();
23 
24  flann::SearchParams search;
25 
26  void printParams();
27 
28  SearchType search_type;
29  IdxType index_type;
30  IdxType fgnn_index_type;
31 
32  int srch_checks;
33  float srch_eps;
34  bool srch_sorted;
35  int srch_max_neighbors;
36  int srch_cores;
37  bool srch_matrices_in_gpu_ram;
38  flann::tri_type srch_use_heap;
39  int kdt_trees;
40  int km_branching;
41  int km_iterations;
42  flann::flann_centers_init_t km_centers_init;
43  float km_cb_index;
44  int kdts_leaf_max_size;
45  int kdtc_leaf_max_size;
46  int hc_branching;
47  flann::flann_centers_init_t hc_centers_init;
48  int hc_trees;
49  int hc_leaf_max_size;
50  float auto_target_precision;
51  float auto_build_weight;
52  float auto_memory_weight;
53  float auto_sample_fraction;
54 
56  SearchType _search_type,
57  IdxType _index_type,
58  IdxType _fgnn_index_type,
59  int _srch_checks,
60  float _srch_eps,
61  bool _srch_sorted,
62  int _srch_max_neighbors,
63  int _srch_cores,
64  bool _srch_matrices_in_gpu_ram,
65  flann::tri_type _srch_use_heap,
66  int kdt_trees,
67  int km_branching,
68  int km_iterations,
69  flann::flann_centers_init_t _km_centers_init,
70  float km_cb_index,
71  int kdts_leaf_max_size,
72  int kdtc_leaf_max_size,
73  int hc_branching,
74  flann::flann_centers_init_t _hc_centers_init,
75  int hc_trees,
76  int hc_leaf_max_size,
77  float auto_target_precision,
78  float auto_build_weight,
79  float auto_memory_weight,
80  float auto_sample_fraction);
81  FLANNParams(const FLANNParams *params = nullptr);
82 };
83 
84 _MTF_END_NAMESPACE
85 
86 #endif
87 
index specific params
Definition: FLANNParams.h:10