#[non_exhaustive]pub enum RefineStatus {
Accepted,
Rejected,
OutOfBounds,
IllConditioned,
}Expand description
Status of a refinement attempt.
A refiner returns one of these variants to indicate whether it produced a usable subpixel location and, if not, why it did not.
Accepted— refinement converged; useRefineResult::xandy.Rejected— the refiner ran but the result did not pass an acceptance criterion (e.g. the computed displacement exceededForstnerConfig::max_offset). Fall back to the original seed or skip this candidate.OutOfBounds— the seed is too close to the image border for the refiner’s patch window. The seed coordinates inRefineResultare unchanged from the input.IllConditioned— the patch does not contain enough structure for the refiner to produce a reliable estimate (e.g. too-flat gradient for Förstner, or a degenerate Hessian for saddle-point). The seed coordinates are unchanged.
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.
Accepted
Refinement converged; the result’s x/y are usable.
Rejected
The refiner ran but the result failed its acceptance criterion.
OutOfBounds
The seed is too close to the image border for the refiner’s patch window.
IllConditioned
The patch lacks enough structure for a reliable estimate.
Trait Implementations§
Source§impl Clone for RefineStatus
impl Clone for RefineStatus
Source§fn clone(&self) -> RefineStatus
fn clone(&self) -> RefineStatus
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for RefineStatus
Source§impl Debug for RefineStatus
impl Debug for RefineStatus
impl Eq for RefineStatus
Source§impl PartialEq for RefineStatus
impl PartialEq for RefineStatus
Source§fn eq(&self, other: &RefineStatus) -> bool
fn eq(&self, other: &RefineStatus) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RefineStatus
Auto Trait Implementations§
impl Freeze for RefineStatus
impl RefUnwindSafe for RefineStatus
impl Send for RefineStatus
impl Sync for RefineStatus
impl Unpin for RefineStatus
impl UnsafeUnpin for RefineStatus
impl UnwindSafe for RefineStatus
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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