pub struct RobustPoseSolver {
pub lo_ransac: LoRansacConfig,
}Expand description
Pure mathematical engine for robust, multi-correspondence board pose estimation.
Completely decoupled from [DetectionBatch] and tag layout. Accepts flat
PointCorrespondences slices and returns a verified BoardPose.
Algorithm: LO-RANSAC (outer) → unweighted Gauss-Newton verification (inner) → Anisotropic Weighted Levenberg-Marquardt final refinement.
Fields§
§lo_ransac: LoRansacConfigLO-RANSAC hyper-parameters.
Implementations§
Source§impl RobustPoseSolver
impl RobustPoseSolver
Sourcepub fn with_lo_ransac_config(self, cfg: LoRansacConfig) -> Self
pub fn with_lo_ransac_config(self, cfg: LoRansacConfig) -> Self
Builder: override the LO-RANSAC configuration.
Sourcepub fn estimate(
&self,
corr: &PointCorrespondences<'_>,
intrinsics: &CameraIntrinsics,
) -> Option<BoardPose>
pub fn estimate( &self, corr: &PointCorrespondences<'_>, intrinsics: &CameraIntrinsics, ) -> Option<BoardPose>
Estimates a board pose from flat point correspondences.
Returns None if fewer than 4 groups are present, or if LO-RANSAC
cannot find a consensus set.
Trait Implementations§
Source§impl Default for RobustPoseSolver
impl Default for RobustPoseSolver
Source§fn default() -> RobustPoseSolver
fn default() -> RobustPoseSolver
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RobustPoseSolver
impl RefUnwindSafe for RobustPoseSolver
impl Send for RobustPoseSolver
impl Sync for RobustPoseSolver
impl Unpin for RobustPoseSolver
impl UnsafeUnpin for RobustPoseSolver
impl UnwindSafe for RobustPoseSolver
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> 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>
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 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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.