#[non_exhaustive]pub struct ExtensionStats {Show 13 fields
pub iterations: usize,
pub h_quality: Option<HomographyQuality<f32>>,
pub h_residual_median_px: Option<f32>,
pub h_residual_max_px: Option<f32>,
pub h_trusted: bool,
pub attached: usize,
pub rejected_no_candidate: usize,
pub rejected_ambiguous: usize,
pub rejected_label: usize,
pub rejected_policy: usize,
pub rejected_edge: usize,
pub attached_indices: Vec<usize>,
pub attached_cells: Vec<(i32, i32)>,
}Expand description
Diagnostic counters returned by both extension strategies.
attached_indices lets callers identify boundary-extension
attachments distinct from BFS-grow labels, e.g., for downstream
blacklist scoping or overlay rendering.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.iterations: usizeNumber of extension iterations actually run (≤ the configured cap).
h_quality: Option<HomographyQuality<f32>>None when the H wasn’t fit (too few labels or solver failure).
h_residual_median_px: Option<f32>None when the H wasn’t fit. Pixel units.
h_residual_max_px: Option<f32>Maximum reprojection residual on the labelled set, in pixels.
None when the H wasn’t fit.
h_trusted: boolfalse when the residual gate refused to extrapolate — the
function is a no-op and attached == 0.
attached: usizeNumber of corners successfully attached across all iterations.
rejected_no_candidate: usizeCandidate cells skipped because no corner sat near the predicted spot.
rejected_ambiguous: usizeCandidate cells skipped because two corners were equally plausible.
rejected_label: usizeCandidate cells skipped because the target (i, j) was already labelled.
rejected_policy: usizeCandidate corners rejected by the caller-supplied
SquareAttachPolicy.
rejected_edge: usizeCandidate corners rejected by the induced-edge geometry check.
attached_indices: Vec<usize>Indices of the corners attached in this pass.
attached_cells: Vec<(i32, i32)>(i, j) cells that survived to attachment.
Trait Implementations§
Source§impl Clone for ExtensionStats
impl Clone for ExtensionStats
Source§fn clone(&self) -> ExtensionStats
fn clone(&self) -> ExtensionStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExtensionStats
impl Debug for ExtensionStats
Source§impl Default for ExtensionStats
impl Default for ExtensionStats
Source§fn default() -> ExtensionStats
fn default() -> ExtensionStats
Auto Trait Implementations§
impl Freeze for ExtensionStats
impl RefUnwindSafe for ExtensionStats
impl Send for ExtensionStats
impl Sync for ExtensionStats
impl Unpin for ExtensionStats
impl UnsafeUnpin for ExtensionStats
impl UnwindSafe for ExtensionStats
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
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.