pub struct Detector { /* private fields */ }Expand description
The main entry point for detecting AprilTags.
The detector holds reusable state (arena allocator, threshold engine)
and can be configured at construction time via DetectorConfig.
Implementations§
Source§impl Detector
impl Detector
Sourcepub fn with_config(config: DetectorConfig) -> Self
pub fn with_config(config: DetectorConfig) -> Self
Create a detector with custom pipeline configuration.
Sourcepub fn get_config(&self) -> DetectorConfig
pub fn get_config(&self) -> DetectorConfig
Get the current detector configuration.
Sourcepub fn add_decoder(&mut self, decoder: Box<dyn TagDecoder + Send + Sync>)
pub fn add_decoder(&mut self, decoder: Box<dyn TagDecoder + Send + Sync>)
Add a decoder to the pipeline.
Sourcepub fn set_families(&mut self, families: &[TagFamily])
pub fn set_families(&mut self, families: &[TagFamily])
Clear all decoders and set new ones based on tag families.
Sourcepub fn detect(&mut self, img: &ImageView<'_>) -> Vec<Detection>
pub fn detect(&mut self, img: &ImageView<'_>) -> Vec<Detection>
Primary detection entry point using detector’s configured decoders.
Sourcepub fn detect_with_options(
&mut self,
img: &ImageView<'_>,
options: &DetectOptions,
) -> Vec<Detection>
pub fn detect_with_options( &mut self, img: &ImageView<'_>, options: &DetectOptions, ) -> Vec<Detection>
Detection with custom per-call options (e.g., specific tag families).
Sourcepub fn detect_with_stats(
&mut self,
img: &ImageView<'_>,
) -> (Vec<Detection>, PipelineStats)
pub fn detect_with_stats( &mut self, img: &ImageView<'_>, ) -> (Vec<Detection>, PipelineStats)
Detection with detailed timing statistics.
Sourcepub fn detect_with_stats_and_options(
&mut self,
img: &ImageView<'_>,
options: &DetectOptions,
) -> (Vec<Detection>, PipelineStats)
pub fn detect_with_stats_and_options( &mut self, img: &ImageView<'_>, options: &DetectOptions, ) -> (Vec<Detection>, PipelineStats)
Detection with both custom options and timing statistics.
§Panics
Panics if the upscaled image buffer cannot be created or viewed.
Sourcepub fn extract_candidates(
&mut self,
img: &ImageView<'_>,
options: &DetectOptions,
) -> (Vec<Detection>, PipelineStats)
pub fn extract_candidates( &mut self, img: &ImageView<'_>, options: &DetectOptions, ) -> (Vec<Detection>, PipelineStats)
Debugging: Extract quad candidates without decoding.
This runs the pipeline up to the quad extraction stage and returns all distinct quads found. Useful for visualizing what the detector “sees” before the decoder rejects invalid tags.
Sourcepub fn detect_full(
&mut self,
img: &ImageView<'_>,
options: &DetectOptions,
) -> FullDetectionResult
pub fn detect_full( &mut self, img: &ImageView<'_>, options: &DetectOptions, ) -> FullDetectionResult
Perform full detection and return all intermediate debug data.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Detector
impl !RefUnwindSafe for Detector
impl Send for Detector
impl !Sync for Detector
impl Unpin for Detector
impl !UnwindSafe for Detector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.