Skip to main content

iris/
lib.rs

1#![recursion_limit = "256"]
2#![allow(clippy::needless_range_loop)]
3// Pedantic lints not applicable to a computer vision library
4#![allow(
5    clippy::missing_errors_doc,
6    clippy::missing_panics_doc,
7    clippy::must_use_candidate,
8    clippy::return_self_not_must_use,
9    clippy::module_name_repetitions,
10    clippy::too_many_lines,
11    clippy::items_after_statements,
12    clippy::similar_names,
13    clippy::many_single_char_names,
14    clippy::doc_markdown,
15    clippy::unreadable_literal,
16    clippy::bool_to_int_with_if,
17    clippy::manual_midpoint,
18    clippy::cast_precision_loss,
19    clippy::cast_possible_truncation,
20    clippy::cast_possible_wrap,
21    clippy::cast_sign_loss,
22    clippy::cast_lossless,
23    clippy::needless_pass_by_value,
24    clippy::no_effect_underscore_binding,
25    clippy::single_match_else,
26    clippy::uninlined_format_args
27)]
28
29//! Iris
30//! A fast computer vision library framework in Rust.
31
32pub mod error;
33pub mod prelude;
34
35pub mod aruco;
36pub mod barcode;
37pub mod burn;
38pub mod camera;
39pub mod color;
40pub mod contours;
41pub mod core;
42pub mod dnn;
43pub mod drawing;
44pub mod edges;
45pub mod face;
46pub mod features;
47pub mod filters;
48pub mod gpu;
49/// GUI and Window Management.
50///
51/// Requires the `gpui` feature.
52#[cfg(feature = "gpui")]
53pub mod gui;
54pub mod histogram;
55pub mod hog;
56pub mod image;
57pub mod inpaint;
58pub mod kalman;
59pub mod ml;
60pub mod morphology;
61pub mod noise;
62pub mod object_detection;
63pub mod ocr;
64pub mod optical_flow;
65pub mod photo;
66pub mod qr;
67pub mod segmentation;
68pub mod simd;
69pub mod stereo;
70pub mod stitching;
71pub mod threshold;
72pub mod tracking;
73pub mod utils;
74pub mod video;
75
76#[cfg(test)]
77mod tests {
78    #[test]
79    fn test_lib_compiles() {}
80}
81
82#[cfg(test)]
83pub(crate) mod test_helpers {
84    use burn::backend::ndarray::{NdArray, NdArrayDevice};
85
86    pub type TestBackend = NdArray;
87
88    /// Returns an NdArray CPU device. Always available, no GPU required.
89    pub fn test_device() -> NdArrayDevice {
90        NdArrayDevice::default()
91    }
92}