//! RANSAC driver output.
/// Result of a RANSAC run.
////// Holds owned data only — no borrows, no trait objects — so the type can be
/// returned from `kornia-py` bindings as a `#[pyclass(frozen)]` without
/// lifetime gymnastics.
#[derive(Debug, Clone)]pubstructRansacResult<M>{/// Best-scoring model, or `None` if no hypothesis produced any inliers.
pubmodel:Option<M>,
/// Inlier mask aligned to the input sample slice. Empty iff `model` is
/// `None`.
pubinliers:Vec<bool>,
/// Number of hypotheses actually evaluated (may be < `max_iters` due to
/// early termination from the confidence bound).
pubnum_iters:u32,
/// Best consensus score observed. Higher is better. Units depend on the
/// active consensus strategy (inlier count for threshold, σ-weighted sum
/// for MAGSAC++).
pubscore:f64,
}impl<M>RansacResult<M>{/// Number of inliers in [`Self::inliers`]. O(n) over the mask.
pubfninlier_count(&self)->usize{self.inliers.iter().filter(|&&b|b).count()}}