Skip to main content

spatialrust_segmentation/
lib.rs

1//! Point cloud segmentation for SpatialRust.
2
3#![deny(unsafe_code)]
4#![warn(missing_docs)]
5
6mod cloud;
7mod segmenter;
8
9#[cfg(feature = "segment-ransac-plane")]
10mod plane;
11
12#[cfg(feature = "segment-multi-plane")]
13mod multi_plane;
14
15#[cfg(feature = "segment-euclidean")]
16mod cluster;
17
18#[cfg(feature = "segment-dbscan")]
19mod dbscan;
20
21#[cfg(feature = "segment-ground")]
22mod ground;
23
24#[cfg(feature = "segment-ransac-primitives")]
25mod primitives;
26
27#[cfg(feature = "segment-region-growing")]
28mod region_growing;
29
30pub use cloud::{extract_indices, extract_mask, with_labels};
31pub use segmenter::PointCloudSegmenter;
32
33#[cfg(feature = "segment-ransac-plane")]
34pub use plane::{PlaneModel, RansacPlaneConfig, RansacPlaneSegmentation, RansacPlaneSegmenter};
35
36#[cfg(feature = "segment-multi-plane")]
37pub use multi_plane::{MultiPlaneConfig, MultiPlaneSegmentation, MultiPlaneSegmenter};
38
39#[cfg(feature = "segment-euclidean")]
40pub use cluster::{EuclideanClusterConfig, EuclideanClusterExtractor, EuclideanClusterResult};
41
42#[cfg(feature = "segment-dbscan")]
43pub use dbscan::{DbscanConfig, DbscanResult, DbscanSegmenter};
44
45#[cfg(feature = "segment-ground")]
46pub use ground::{GroundConfig, GroundSegmentation, GroundSegmenter, UpAxis};
47
48#[cfg(feature = "segment-ransac-primitives")]
49pub use primitives::{
50    CylinderModel, PrimitiveSegmentation, RansacCylinderSegmenter, RansacPrimitiveConfig,
51    RansacSphereSegmenter, SphereModel,
52};
53
54#[cfg(feature = "segment-region-growing")]
55pub use region_growing::{RegionGrowingConfig, RegionGrowingResult, RegionGrowingSegmenter};