#[non_exhaustive]pub enum Refiner {
CenterOfMass(CenterOfMassRefiner),
Forstner(ForstnerRefiner),
SaddlePoint(SaddlePointRefiner),
}Expand description
Runtime refiner with reusable scratch buffers.
Constructed from a RefinerKind via Refiner::from_kind.
Implements CornerRefiner by dispatching to the selected backend.
Reuse across many candidates on the same frame to amortize
allocation; scratch buffers are sized at construction and are not
reallocated on each call.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
CenterOfMass(CenterOfMassRefiner)
5×5 weighted centroid on the response map.
Forstner(ForstnerRefiner)
Gradient structure-tensor refinement on the image patch.
SaddlePoint(SaddlePointRefiner)
Quadratic surface fit on the image patch.
Implementations§
Trait Implementations§
Source§impl CornerRefiner for Refiner
impl CornerRefiner for Refiner
Source§fn radius(&self) -> i32
fn radius(&self) -> i32
Half-width of the patch the refiner needs around the seed,
in input-image pixels. The caller must ensure the seed is at
least this many pixels away from every image border before
calling
refine; violating this
contract yields RefineStatus::OutOfBounds.Source§fn refine(&mut self, seed_xy: [f32; 2], ctx: RefineContext<'_>) -> RefineResult
fn refine(&mut self, seed_xy: [f32; 2], ctx: RefineContext<'_>) -> RefineResult
Attempt to refine the subpixel position of a corner candidate. Read more
Auto Trait Implementations§
impl Freeze for Refiner
impl RefUnwindSafe for Refiner
impl Send for Refiner
impl Sync for Refiner
impl Unpin for Refiner
impl UnsafeUnpin for Refiner
impl UnwindSafe for Refiner
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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 more