Skip to content

rajgandhi1/threecrate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

329 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

threecrate

A high-performance 3D point cloud and mesh processing library for Rust, with Python bindings.

logo_3crate Small

Crates.io PyPI Documentation CI License Contributing

What's inside

Crate What it does
threecrate-core Point, PointCloud, TriangleMesh, Transform3D
threecrate-algorithms Filtering, ICP, NDT, global registration, segmentation, normals, FPFH/SHOT, mesh boolean, smoothing
threecrate-gpu GPU filtering, ICP, normals, nearest-neighbor, TSDF, real-time rendering (wgpu)
threecrate-io PLY, OBJ, PCD, XYZ/CSV, LAS/LAZ*, E57* — streaming and memory-mapped
threecrate-reconstruction Poisson, BPA, alpha shapes, Delaunay, Marching Cubes, MLS, auto-select
threecrate-simplification Quadric error, edge collapse, clustering, progressive mesh
threecrate-visualization Interactive viewer — orbit/pan/zoom, GPU-accelerated

* opt-in feature flags

Viewer

ThreeCrate Mesh Viewer

Quick start

Rust

[dependencies]
threecrate = "0.7.1"
use threecrate::prelude::*;

let cloud = read_point_cloud("scan.ply")?;
let cloud = voxel_grid_filter(&cloud, 0.05)?;
let normals = estimate_normals(&cloud, 10)?;
let mesh = auto_reconstruct(&normals)?;
write_mesh("output.obj", &mesh)?;

Python

pip install threecrate
import threecrate as tc

cloud = tc.read_point_cloud("scan.ply")
cloud = tc.voxel_downsample(cloud, voxel_size=0.05)
normal_cloud = tc.estimate_normals(cloud)
mesh = tc.poisson_reconstruct(normal_cloud)
tc.write_mesh(mesh, "output.ply")

Comparison

Feature threecrate Open3D PCL
Language Rust + Python Python (C++ core) C++
pip install
Memory safety ✅ Rust
GPU compute ✅ wgpu ✅ CUDA Partial
Global registration ✅ FPFH+RANSAC
Surface reconstruction ✅ 6 algorithms
Streaming I/O ✅ PLY/OBJ/XYZ
E57 support ✅ opt-in
WebAssembly Roadmap

Docs

Contributing

Contributions are welcome — algorithms, Python bindings, new formats, docs.

License

licensed under MIT