#![warn(missing_docs)]
mod api;
mod board_layout;
mod conic;
mod detector;
mod homography;
mod marker;
mod pipeline;
mod pixelmap;
mod proposal;
mod ring;
mod target;
mod target_generation;
#[cfg(test)]
pub(crate) mod test_utils;
pub use api::{
DetectError, Detector, propose_with_heatmap_and_marker_scale, propose_with_marker_scale,
};
pub use proposal::{Proposal, ProposalConfig, ProposalResult};
pub use proposal::{find_ellipse_centers, find_ellipse_centers_with_heatmap};
pub use pipeline::{BoardFrame, DetectedMarker, DetectionFrame, DetectionResult};
pub mod diagnostics {
pub use crate::detector::{DetectionSource, FitMetrics, InnerFitReason, InnerFitStatus};
pub use crate::homography::RansacStats;
pub use crate::marker::DecodeMetrics;
pub use crate::pipeline::{DetectionDiagnostics, MarkerDiagnostics, StageTimings};
}
pub use conic::RansacConfig;
pub use detector::{
AdvancedDetectConfig, CircleRefinementMethod, CompletionConfig, DetectConfig,
IdCorrectionConfig, InnerAsOuterRecoveryConfig, InnerFitConfig, MarkerScalePrior,
OuterFitConfig, ProjectiveCenterConfig, ProposalDownscale, ScaleTier, ScaleTiers,
SeedProposalConfig,
};
pub use marker::{AngularAggregator, CodebookProfile, DecodeConfig, GradPolarity};
pub use ring::{EdgeSampleConfig, OuterEstimationConfig};
pub mod codebook {
pub use crate::marker::{CodebookInfo, CodewordMatch, codebook_info, decode_word};
}
pub use target::{
CodedRingSpec, HexGeometry, LatticeGeometry, MarkerCoding, OriginFiducials, RectGeometry,
RingGeometry, TargetCell, TargetLayout, TargetLoadError, TargetValidationError,
};
#[allow(deprecated)]
pub use board_layout::{
BoardLayout, BoardLayoutLoadError, BoardLayoutValidationError, BoardMarker,
};
pub use conic::Ellipse;
pub use marker::MarkerSpecConfig;
pub use target_generation::{PngTargetOptions, SvgTargetOptions, TargetGenerationError};
pub use pixelmap::{
CameraIntrinsics, CameraModel, DivisionModel, PixelMapper, RadialTangentialDistortion,
SelfUndistortConfig, SelfUndistortResult, UndistortConfig,
};