Crates.io | clique-fusion |
lib.rs | clique-fusion |
version | 0.1.1 |
created_at | 2025-06-19 14:24:48.845056+00 |
updated_at | 2025-06-19 16:01:48.803648+00 |
description | a library for 'spatial fusion' of separate observations of objects |
homepage | |
repository | |
max_upload_size | |
id | 1718420 |
size | 134,646 |
The following library provides an efficient algorithm for 'fusing' multiple observations of objects.
An 'observation' is a discrete measurement of the position of an object, with associated uncertainty.
A single object may be supported by multiple observations. These may be taken by different sensors, or by different 'passes' with a single sensor, or may be taken at different times.
Due to positional uncertainty, two observations of the same object may have different apparent positions.
This library ingests a list of observations and groups clusters of nearby observations when they are close enough that we can assume they are observations of the same underlying object.
For a cluster of nearby observations to be grouped, they must all mutually include each other within their respective error bounds. This prevents, for example, a 'line' of observations being grouped. It also prevents two observations from being grouped when one has a very large error bound, but the other has a more precisely known (and inconsistent) position.
The algorithm uses a graph-based approach with clique detection to ensure mutual inclusion constraints are satisfied
This library supports finding cliques from a vector of observations (fast), and for adding observations one at a time (slower, but supports real-time or incremental use cases).
This project is publicly available under the GNU General Public License v3.0. It may optionally be distributed under the permissive MIT license by commercial arrangement.