Skip to main content

spatialrust_registration/
lib.rs

1//! Point cloud registration for SpatialRust.
2
3#![deny(unsafe_code)]
4#![warn(missing_docs)]
5
6mod kabsch;
7mod registration;
8mod transform;
9
10#[cfg(feature = "register-icp")]
11mod icp;
12
13#[cfg(feature = "register-icp-point-to-plane")]
14mod point_to_plane;
15
16#[cfg(feature = "register-gicp")]
17mod gicp;
18
19#[cfg(feature = "register-ndt")]
20mod ndt;
21
22#[cfg(feature = "register-fpfh")]
23mod fpfh;
24
25pub use kabsch::estimate_rigid_transform;
26pub use registration::{PointCloudRegistration, RegistrationResult};
27pub use transform::transform_point_cloud;
28
29#[cfg(feature = "register-icp")]
30pub use icp::{
31    IcpConfig, IcpConvergenceCriteria, IcpDiagnostics, IcpIteration, IcpRegistration, IcpStopReason,
32};
33
34#[cfg(feature = "register-icp-point-to-plane")]
35pub use point_to_plane::{PointToPlaneIcp, PointToPlaneIcpConfig};
36
37#[cfg(feature = "register-icp-point-to-plane-gpu")]
38pub use point_to_plane::{GpuPointToPlaneIteration, GpuPointToPlaneReductionDiagnostics};
39
40#[cfg(feature = "register-gicp")]
41pub use gicp::{GicpConfig, GicpRegistration};
42
43#[cfg(feature = "register-ndt")]
44pub use ndt::{NdtConfig, NdtRegistration};
45
46#[cfg(feature = "register-fpfh")]
47pub use fpfh::{
48    fpfh_descriptors, FpfhDescriptor, FpfhRansacConfig, FpfhRansacRegistration, FPFH_DESCRIPTOR_LEN,
49};
50
51#[cfg(feature = "register-icp-gpu")]
52pub use icp::{GpuIcpDiagnostics, GpuIcpReductionDiagnostics};
53
54#[cfg(feature = "register-icp-gpu")]
55pub use spatialrust_gpu::GpuIcpTrimPrecision;
56
57#[cfg(feature = "register-gicp-gpu")]
58pub use gicp::{GpuGicpDiagnostics, GpuGicpIteration, GpuGicpReductionDiagnostics};
59
60#[cfg(feature = "register-fpfh-gpu")]
61pub use fpfh::{fpfh_descriptors_gpu, GpuFpfhResult};