1#![cfg_attr(not(feature = "std"), no_std)]
2#[cfg(feature = "alloc")]
9extern crate alloc;
10
11mod detection;
12mod envelope;
13mod error;
14mod event;
15mod geometry;
16mod ids;
17mod line;
18mod nms;
19mod orientation;
20mod overlap;
21#[cfg(feature = "alloc")]
22mod owned;
23mod polygon;
24mod stamp;
25#[cfg(feature = "alloc")]
26mod tiling;
27mod zone;
28
29pub use detection::{Detection, DetectionBatch};
30pub use envelope::{EventEnvelope, EventKind, EventPayload};
31pub use error::{CoreError, GeometryError};
32pub use event::{Direction, VisionEvent};
33pub use geometry::{Point, Rect};
34pub use ids::{
35 AnomalyId, AppearanceId, ClassId, EmbeddingRef, EventId, EvidenceRef, KeypointSetRef,
36 LocalTrackId, MaskRef, ObservationId, PatternId, RedactionIntervalId, SourceId, SubjectId,
37 TrackId, TrackKey, TrackUid, VisitId, ZoneId,
38};
39pub use line::{LineSegment, LineSide, crosses_segment, line_side};
40pub use nms::{
41 NmsConfig, NmsMode, OverlapMetric, SoftNmsConfig, SoftNmsMethod, merge_nms_in_place,
42 nms_in_place, soft_nms_in_place,
43};
44pub use overlap::{intersection_area, ios, iou};
45#[cfg(feature = "alloc")]
46pub use owned::OwnedDetectionBatch;
47pub use polygon::Polygon;
48pub use stamp::{FrameStamp, MediaTime};
49#[cfg(feature = "alloc")]
50pub use tiling::{TileWindow, generate_tiles, tile_to_global};
51pub use zone::{LineZoneMonitor, PolygonZoneMonitor};