Home

Awesome

nabo

Crates.io Docs.rs Build Status

Overview

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.

nabo is no_std compatible.

Usage

To use nabo in your project, you need to either:

If you want to avoid a dependency to rand, disable the rand feature. In that case, the random generation of point clouds for SimplePoint will not be available.

Benchmark

You can benchmark nabo using the following command:

cargo bench

Citing nabo

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}
}

License

Licensed under either of

at your option.

Contribution

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.