Skip to main content

spatialrust_vision/
lib.rs

1//! AI-ready CPU image processing and vision algorithms.
2//!
3//! Algorithms are feature-gated by area. GPU implementations belong in an
4//! explicit backend and must not introduce hidden device transfers.
5
6#![deny(unsafe_code)]
7#![warn(missing_docs)]
8
9mod border;
10#[cfg(any(
11    feature = "resize",
12    feature = "preprocess",
13    feature = "imgproc-filter",
14    feature = "imgproc-morphology",
15    feature = "imgproc-canny"
16))]
17mod dispatch;
18mod error;
19mod pixel;
20
21#[cfg(feature = "imgproc-filter")]
22mod advanced_filter;
23#[cfg(feature = "imgproc-analysis")]
24mod analysis;
25#[cfg(feature = "imgproc-canny")]
26mod canny;
27#[cfg(feature = "feature2d")]
28mod corners;
29
30#[cfg(feature = "ai-adapters")]
31mod adapters;
32#[cfg(feature = "dense")]
33mod dense;
34#[cfg(feature = "detection")]
35mod detection;
36#[cfg(feature = "feature2d")]
37mod feature2d;
38#[cfg(feature = "imgproc-filter")]
39mod filter;
40#[cfg(feature = "geometry")]
41mod geometry;
42#[cfg(feature = "feature2d")]
43mod matcher;
44#[cfg(feature = "imgproc-morphology")]
45mod morphology;
46#[cfg(feature = "geometry")]
47mod multiview;
48#[cfg(feature = "odometry")]
49mod odometry;
50#[cfg(feature = "geometry")]
51mod optical_flow;
52#[cfg(feature = "feature2d")]
53mod orb;
54#[cfg(feature = "photography")]
55mod photography;
56#[cfg(feature = "geometry")]
57mod pnp;
58#[cfg(feature = "preprocess")]
59mod preprocess;
60#[cfg(feature = "resize")]
61mod resize;
62#[cfg(feature = "spatial")]
63mod spatial;
64#[cfg(feature = "geometry")]
65mod stereo;
66#[cfg(feature = "video")]
67mod video;
68#[cfg(feature = "warp")]
69mod warp;
70
71pub use border::BorderMode;
72pub use error::{VisionError, VisionResult};
73pub use pixel::PixelComponent;
74
75#[cfg(feature = "imgproc-filter")]
76pub use advanced_filter::*;
77#[cfg(feature = "imgproc-analysis")]
78pub use analysis::*;
79#[cfg(feature = "imgproc-canny")]
80pub use canny::*;
81#[cfg(feature = "feature2d")]
82pub use corners::*;
83
84#[cfg(feature = "ai-adapters")]
85pub use adapters::*;
86#[cfg(feature = "dense")]
87pub use dense::*;
88#[cfg(feature = "detection")]
89pub use detection::*;
90#[cfg(feature = "feature2d")]
91pub use feature2d::*;
92#[cfg(feature = "imgproc-filter")]
93pub use filter::*;
94#[cfg(feature = "geometry")]
95pub use geometry::*;
96#[cfg(feature = "feature2d")]
97pub use matcher::*;
98#[cfg(feature = "imgproc-morphology")]
99pub use morphology::*;
100#[cfg(feature = "geometry")]
101pub use multiview::*;
102#[cfg(feature = "odometry")]
103pub use odometry::*;
104#[cfg(feature = "geometry")]
105pub use optical_flow::*;
106#[cfg(feature = "feature2d")]
107pub use orb::*;
108#[cfg(feature = "photography")]
109pub use photography::*;
110#[cfg(feature = "geometry")]
111pub use pnp::*;
112#[cfg(feature = "preprocess")]
113pub use preprocess::*;
114#[cfg(feature = "resize")]
115pub use resize::*;
116#[cfg(feature = "spatial")]
117pub use spatial::*;
118#[cfg(feature = "geometry")]
119pub use stereo::*;
120#[cfg(feature = "video")]
121pub use video::*;
122#[cfg(feature = "warp")]
123pub use warp::*;