Skip to main content

Module dense

Module dense 

Source
Expand description

Two-stage dense corner detector abstraction.

DenseDetector is the contract the multiscale orchestrator drives over: each implementor computes a dense per-pixel response over an ImageView (stage 1) and extracts subpixel corner peaks from it (stage 2). Image-domain subpixel refinement (center-of-mass, Förstner, saddle-point, …) is not part of this trait — it runs detector-agnostically via crate::detect::refine_corners_on_image.

Two zero-sized implementors live alongside the trait:

The free functions named above remain public; the trait is an additive uniform interface, not a replacement.

§Toolchain note

DenseDetector::Response is a generic associated type (GAT); downstream consumers need Rust 1.65 or newer. This workspace already pins nightly via rust-toolchain.toml, so the trait is always available here.

Structs§

ChessBuffers
Reusable scratch for ChessDetector. Wraps an owned ResponseMap; the ChESS response kernel currently allocates its output, and this struct keeps the latest map alive so the trait’s Response<'a> = &'a ResponseMap can borrow it across the two stages.
ChessDetector
Zero-sized DenseDetector implementor for the ChESS kernel.
RadonDetector
Zero-sized DenseDetector implementor for the whole-image Duda-Frese Radon kernel.

Traits§

DenseDetector
Two-stage dense corner detector contract.