Capability map
Algorithm catalog
Find an algorithm by task, then follow its crate link to the generated API. Entries describe implemented public families, not future intentions.
| Area | Algorithms and operations | Rust crate / feature | Backend |
|---|---|---|---|
| Filtering | Pass-through, crop box, voxel-grid downsample, statistical/radius outlier removal, farthest-point sampling, moving least squares | spatialrust-filtering | CPU |
| Spatial search | Brute force, k-d tree, radius/k-nearest queries, chunked parallel queries, uniform grid, k-NN/radius neighbor graphs | spatialrust-search | CPU |
| Point features | Normal estimation and orientation, ISS keypoints, boundary detection, FPFH descriptors | spatialrust-features, registration | CPU / GPU |
| Segmentation | RANSAC plane/sphere/cylinder, multi-plane, ground, Euclidean clustering, DBSCAN, region growing | spatialrust-segmentation | CPU / GPU |
| Registration | Rigid Kabsch, point-to-point ICP, point-to-plane ICP, GICP, NDT, FPFH+RANSAC global alignment | spatialrust-registration | CPU |
| Voxelization | Occupancy grids, range images, voxel keys, segments, centroid/first-point reductions | spatialrust-voxelize, gpu | CPU / GPU |
| Transforms | Apply transform, centroid, AABB/OBB, recenter, scale, unit-sphere normalization, merge | spatialrust-transform | CPU |
| Preprocessing | Crop, pad, letterbox, normalize, interleaved-to-CHW, RGB/BGR swap, RGB↔gray/HSV, reusable outputs. Fused bilinear resize-to-gray avoids an intermediate RGB image and wins 1.12× at allocated 1080p→540p. Fused resize-normalize-CHW avoids the HWC intermediate and measured 2.02×–2.33× faster than OpenCV blobFromImage. Both retain exact SpatialRust unfused parity. CHW harness. | spatialrust-vision · preprocess | CPU |
| Resize and warp | Nearest, bilinear, bicubic and area resize; reusable fixed-point RGB8 bilinear plans; exact row-parallel half-scale path; remap; affine and perspective warp. VGA caller-output half-scale measured 1.10× faster than OpenCV with exact pixels. Harness. | spatialrust-vision · resize, warp | CPU / GPU |
| Filtering | 2D correlation/convolution, separable/box/Gaussian, accelerated 3×3/5×5 u8 Gaussian, median, bilateral, direct 3×3 Sobel, exact paired gradients, fused absolute/binary Sobel responses and L1 magnitude, Scharr, Laplacian, Gaussian pyramids. Exact direct Sobel beats OpenCV 1.88× at 1080p and 2.03× at 4K; fused threshold masks win 2.95×–8.68× depending on allocation mode. Harness. | spatialrust-vision · imgproc-filter | safe CPU explicit GPU API |
| Morphology | Erode, dilate, open, close, gradient, top-hat, black-hat; separable sliding Rect fast path plus Cross/Ellipse/Diamond/custom fallback | spatialrust-vision · imgproc-morphology | safe CPU explicit wgpu API |
| Image analysis | Fixed/Otsu/adaptive threshold, histogram, equalization, CLAHE, integral image, Canny | spatialrust-vision · imgproc-analysis, imgproc-canny | CPU |
| Local features | FAST, Harris, Shi–Tomasi, ORB, descriptor matching, grid selection, pyramidal Lucas–Kanade tracking | spatialrust-vision · feature2d | CPU |
| Dense vision | Exact Euclidean distance transform with reusable workspace/output; allocation-light Canny with opt-in inspectable intermediates; row-major run-length/union-find connected components; contours, polygon approximation, mask RLE, and dense spatial maps. Canny uses parallel three-row magnitude rings, safe strided output, and reusable workspace with bit-exact OpenCV parity across 300 randomized images. Reusable document-line Canny measured 1.36× faster than OpenCV at 1080p and 1.42× at 4K; dense sensor noise remains an OpenCV win. Canny harness. Structured connected-component masks measured 2.17×–3.61× faster than OpenCV SAUF. Components harness. | spatialrust-vision · dense | CPU |
| Detection post-processing | IoU/GIoU, greedy NMS, class-aware batched NMS, and hard/linear/Gaussian Soft-NMS. Seeded Python NMS is 3.22×–8.95× faster than OpenCV; batched NMS is 26.38×–97.25× faster; linear/Gaussian Soft-NMS is 3.42×–7.40× faster. NMS indices are exact and Soft-NMS scores stay within 1.79e-7. NMS · batched · Soft-NMS. | spatialrust-vision · detection | CPU |
| Multiview geometry | Homography, fundamental/essential matrices, RANSAC, triangulation, relative pose, PnP/PnP-RANSAC | spatialrust-vision · geometry | CPU |
| Stereo and odometry | Stereo rectification, block matching, disparity-to-depth/XYZ, monocular and RGB-D visual odometry | spatialrust-vision · geometry, odometry | CPU |
| Video | Dense block flow, adaptive background model, multi-object tracker, timestamped pull sources | spatialrust-vision · video | CPU |
| Photography | Gray-world white balance, exposure fusion, bounded panorama estimation, warp and feather stitching | spatialrust-vision · photography | CPU |
| Camera and RGB-D | Pinhole/fisheye projection and distortion, mono/stereo/hand-eye calibration, point bundle adjustment, depth-to-XYZ/point-cloud | spatialrust-camera | CPU |
| Mapping | Stamped trajectories, delta motion, visual-odometry bridge, pose-graph construction, root localization, and loop-closure candidates | spatialrust-mapping | CPU |
| Scene reconstruction | TSDF integration, marching cubes, surfel fusion, CPU Gaussian splat rendering, triangle meshes | spatialrust-scene | CPU / GPU features |
| Semantic spatial | Embeddings, cosine similarity, multimodal fusion, semantic search index, open-vocabulary entities | spatialrust-semantic | CPU |
| GPU compute | Explicit image upload/readback, device-resident copy/gray/blur/resize/Sobel/morphology, voxel reduction, normals, clustering, plane scoring | spatialrust-gpu | wgpu |
| AI and tensors | Image↔tensor packing, DLPack import/export, backend/session contracts, mock inference and optional ONNX Runtime | spatialrust-tensor, ai | CPU / optional runtime |
| Execution and distribution | Typed DAG compilation, same-device fusion, bounded backpressure, partitioning, named transfers and transfer ledgers | spatialrust-runtime, distribute | Explicit placement |
| Time and replay | Clock domains, frame graphs, deterministic multimodal replay, MCAP episode round-trip | spatialrust-sync | CPU / optional I/O |
Feature names describe Cargo gates on the algorithm crate. Exact signatures and stability are authoritative in rustdoc and API_STABILITY.md. GPU entries always require explicit device APIs.