spatialrust_segmentation/
lib.rs1#![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-ransac-plane")]
13mod plane_ransac;
14
15#[cfg(all(feature = "segment-ransac-plane", feature = "segment-ransac-plane-gpu"))]
16mod plane_gpu;
17
18#[cfg(feature = "segment-multi-plane")]
19mod multi_plane;
20
21#[cfg(feature = "segment-euclidean")]
22mod cluster;
23
24#[cfg(all(feature = "segment-euclidean", feature = "segment-euclidean-gpu"))]
25mod cluster_gpu;
26
27#[cfg(feature = "segment-dbscan")]
28mod dbscan;
29
30#[cfg(feature = "segment-ground")]
31mod ground;
32
33#[cfg(feature = "segment-ransac-primitives")]
34mod primitives;
35
36#[cfg(feature = "segment-region-growing")]
37mod region_growing;
38
39pub use cloud::{extract_indices, extract_mask, with_labels};
40pub use segmenter::PointCloudSegmenter;
41
42#[cfg(feature = "segment-ransac-plane")]
43pub use plane::{
44 PlaneModel, RansacPlaneConfig, RansacPlaneSegmentation, RansacPlaneSegmenter,
45 DEFAULT_GPU_MIN_POINTS_PLANE,
46};
47
48#[cfg(all(feature = "segment-ransac-plane", feature = "segment-ransac-plane-gpu"))]
49pub use plane_gpu::GpuRansacPlaneSegmenter;
50
51#[cfg(feature = "segment-multi-plane")]
52pub use multi_plane::{MultiPlaneConfig, MultiPlaneSegmentation, MultiPlaneSegmenter};
53
54#[cfg(feature = "segment-euclidean")]
55pub use cluster::{
56 EuclideanClusterConfig, EuclideanClusterExtractor, EuclideanClusterResult,
57 DEFAULT_GPU_KDTREE_MIN_POINTS, DEFAULT_GPU_MIN_POINTS_EUCLIDEAN,
58};
59
60#[cfg(all(feature = "segment-euclidean", feature = "segment-euclidean-gpu"))]
61pub use cluster_gpu::GpuEuclideanClusterExtractor;
62
63#[cfg(feature = "segment-dbscan")]
64pub use dbscan::{DbscanConfig, DbscanResult, DbscanSegmenter};
65
66#[cfg(feature = "segment-ground")]
67pub use ground::{GroundConfig, GroundSegmentation, GroundSegmenter, UpAxis};
68
69#[cfg(feature = "segment-ransac-primitives")]
70pub use primitives::{
71 CylinderModel, PrimitiveSegmentation, RansacCylinderSegmenter, RansacPrimitiveConfig,
72 RansacSphereSegmenter, SphereModel,
73};
74
75#[cfg(feature = "segment-region-growing")]
76pub use region_growing::{RegionGrowingConfig, RegionGrowingResult, RegionGrowingSegmenter};