nabo-pbc

Crates.ionabo-pbc
lib.rsnabo-pbc
version0.2.1
sourcesrc
created_at2022-07-25 21:59:19.070034
updated_at2022-07-25 21:59:19.070034
descriptionA fast K Nearest Neighbor (KNN) library for low-dimensional spaces, now with support for periodic boundary conditions.
homepage
repository
max_upload_size
id632846
size79,384
cavemanloverboy (cavemanloverboy)

documentation

README

nabo

Crates.io Docs.rs Build Status

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:

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.

Usage

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.

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.

Commit count: 0

cargo fmt