Expand description
§ferrum_cloud
Pure Rust implementation of Point Cloud Library (PCL).
This library provides efficient, safe, and ergonomic APIs for point cloud processing, leveraging Rust’s ownership system, zero-cost abstractions, and parallel processing capabilities.
§Features
- Memory Safety: Leverages Rust’s ownership system for safe memory management
- Zero-Copy Operations: Efficient processing through views and references
- Parallel Processing: Built-in support for parallel operations using Rayon
- Generic Point Types: Flexible point type system supporting various point formats
- Comprehensive I/O: Support for multiple point cloud file formats
§Quick Start
use ferrum_cloud::prelude::*;
fn main() -> Result<()> {
// Load a point cloud
let cloud = io::load_pcd("scene.pcd")?;
// Process the cloud
let processed = cloud
.voxel_downsample(0.05)
.remove_outliers(50, 1.0)
.estimate_normals(0.5);
// Save the result
io::save_ply(&processed, "processed.ply")?;
Ok(())
}
Re-exports§
pub use crate::core::Point;
pub use crate::core::PointCloud;
pub use crate::core::PointXYZ;
pub use crate::core::PointXYZRGB;
pub use crate::error::CloudError;
pub use crate::error::Result;
Modules§
- algorithms
- Point cloud processing algorithms
- core
- Core data structures and traits for point cloud processing
- error
- Error types and result handling for FerrumCloud
- io
- Input/Output operations for point clouds
- prelude
- Prelude module for convenient imports
- search
- Spatial search structures and algorithms
- utils
- Utility functions and helpers