17 alg = std::make_unique<hnswlib::BruteforceSearch<float>>(
space, 2 * max_elements);
38 std::array<float, 2> features = {x, y};
39 auto result =
alg->searchKnn(features.data(), 1);
40 return static_cast<int>(result.top().second);
47 std::array<float, 2> features = {x, y};
52 std::vector<int> indices;
53 auto results =
alg->searchKnnCloserFirst(features.data(), k);
54 for (
const auto& result : results)
55 indices.push_back(
static_cast<int>(result.second));
std::unique_ptr< hnswlib::L2Space > m_spaceInstance
Definition NearestNeighbourSearch2D.h:35
void addDatasetItem(float x, float y)
Definition NearestNeighbourSearch2D.cpp:26
Dataset2D dataset
Definition NearestNeighbourSearch2D.h:31
int knnQuery(float x, float y)
Definition NearestNeighbourSearch2D.cpp:34
hnswlib::SpaceInterface< float > * space
Definition NearestNeighbourSearch2D.h:33
~NearestNeighbourSearch2D()
Definition NearestNeighbourSearch2D.cpp:20
NearestNeighbourSearch2D(int max_elements)
Definition NearestNeighbourSearch2D.cpp:6
std::unique_ptr< hnswlib::BruteforceSearch< float > > alg
Definition NearestNeighbourSearch2D.h:32
Definition AirAbsorptionFilter.cpp:2
static constexpr int dim
Definition NearestNeighbourSearch2D.h:14
int index
Definition NearestNeighbourSearch2D.h:13
std::vector< float > data
Definition NearestNeighbourSearch2D.h:12