Crates.io | nabo-pbc |
lib.rs | nabo-pbc |
version | 0.2.1 |
source | src |
created_at | 2022-07-25 21:59:19.070034 |
updated_at | 2022-07-25 21:59:19.070034 |
description | A fast K Nearest Neighbor (KNN) library for low-dimensional spaces, now with support for periodic boundary conditions. |
homepage | |
repository | |
max_upload_size | |
id | 632846 |
size | 79,384 |
This is a fork of nabo, which implements support for periodic boundaries in a very efficient manner. The API has changed minimally. The original README from Stéphane Magnenat & Hannes Sommer is attached below:
nabo is a fast K Nearest Neighbour (KNN) library for low-dimensional spaces. It is a re-implementation in pure Rust of the C++ library of the same name by its original author. This work has been sponsored by Enlightware GmbH.
To use nabo in your project, you need to implement the nabo::Point
trait for your point type.
You can see an example in src/dummy_point
which is available when nabo is compiled with the dummy_point
feature (default).
If you want to avoid a dependency to rand
, disable the dummy_point
feature.
You can benchmark nabo using the following command:
cargo bench
If you use nabo in the academic context, please cite this paper that evaluates its performances in the context of robotics mapping research:
@article{elsebergcomparison,
title={Comparison of nearest-neighbor-search strategies and implementations for efficient shape registration},
author={Elseberg, J. and Magnenat, S. and Siegwart, R. and N{\"u}chter, A.},
journal={Journal of Software Engineering for Robotics (JOSER)},
pages={2--12},
volume={3},
number={1},
year={2012},
issn={2035-3928}
}
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.