python123-ops/moon-cv-geometry/ransac does not have a README file
pub(all) struct AdaptiveConsensus {
ratio : Double
threshold : Double
iterations : Int
}fn AdaptiveConsensus::should_stop(state : AdaptiveConsensus, minimum_ratio : Double, minimum_iterations : Int) -> Boolfn ConsensusReport::acceptable(report : ConsensusReport, minimum_ratio~ : Double, maximum_mean_error~ : Double) -> Boolpub(all) struct DeterministicSampler {
state : Int
}pub(all) struct IterationSchedule {
max_iterations : Int
confidence : Double
}fn IterationSchedule::limit_for(schedule : IterationSchedule, inlier_ratio : Double, sample_size : Int) -> Intfn IterationSchedule::progress(schedule : IterationSchedule, iteration~ : Int, observed_inlier_ratio~ : Double, sample_size~ : Int) -> ScheduleProgressfn ModelReport::is_usable(report : ModelReport, minimum_ratio : Double, minimum_inliers : Int) -> Boolfn RansacConfig::new(iterations? : Int, threshold? : Double, min_inliers? : Int, seed? : UInt) -> RansacConfigfn RansacConfig::validated(config : RansacConfig, data_size~ : Int) -> RansacConfig raise GeometryErrorpub(all) struct RansacResult[T] {
model : T
inliers : InlierMask
inlier_count : Int
score : Double
} derive(Eq, Debug)fn ThresholdSweepResult::acceptable(result : ThresholdSweepResult, total : Int, minimum_ratio~ : Double) -> Boolfn adaptive_confidence(ratio : Double, sample_size : Int, iterations : Int) -> Doublefn adaptive_iteration_bound(inlier_ratio~ : Double, sample_size~ : Int, confidence? : Double) -> Int raise GeometryErrorfn adaptive_required_iterations(ratio : Double, sample_size : Int, target_confidence : Double, maximum : Int) -> Intfn adaptive_threshold(residuals : ArrayView[Double], floor : Double, multiplier : Double) -> Double raise GeometryErrorfn candidate_inlier_residuals(candidate : ConsensusCandidate2, residuals : ArrayView[Double]) -> Array[Double]fn candidate_is_confident(best : ConsensusCandidate2, second : ConsensusCandidate2, minimum_margin : Double) -> Boolfn candidate_outlier_residuals(candidate : ConsensusCandidate2, residuals : ArrayView[Double]) -> Array[Double]fn candidate_refined_threshold(candidate : ConsensusCandidate2, residuals : ArrayView[Double], multiplier : Double, minimum : Double) -> Double raise GeometryErrorfn confidence_from_success(iterations~ : Int, success_probability~ : Double) -> Double raise GeometryErrorfn deterministic_indices(length~ : Int, count~ : Int, seed~ : UInt) -> Array[Int] raise GeometryErrorfn diagnostic_adaptive_threshold(residuals : ArrayView[Double], multiplier : Double, minimum : Double) -> Double raise GeometryErrorfn diagnostic_label(inlier_ratio : Double, mean_inlier : Double, threshold : Double) -> Stringfn diagnostic_percentile(residuals : ArrayView[Double], probability : Double) -> Double raise GeometryErrorfn diagnostic_report_acceptable(report : DiagnosticReport, minimum_ratio : Double, maximum_rms : Double) -> Boolfn diagnostic_report_header() -> Stringfn diagnostic_report_health(report : DiagnosticReport, minimum_ratio : Double, maximum_rms : Double) -> Doublefn diagnostic_report_health_label(report : DiagnosticReport, minimum_ratio : Double, maximum_rms : Double) -> Stringfn diagnostic_report_is_good(report : DiagnosticReport, minimum_ratio : Double, maximum_rms : Double) -> Boolfn diagnostic_report_margin(report : DiagnosticReport, minimum_ratio : Double, maximum_rms : Double) -> Doublefn diagnostic_report_passes(report : DiagnosticReport, minimum_inliers : Int, maximum_rms : Double) -> Boolfn diagnostic_series_append(target : Array[DiagnosticReport], reports : ArrayView[DiagnosticReport]) -> Unitfn diagnostic_series_drop(reports : ArrayView[DiagnosticReport], count : Int) -> Array[DiagnosticReport]fn diagnostic_series_merge(left : ArrayView[DiagnosticReport], right : ArrayView[DiagnosticReport]) -> Array[DiagnosticReport]fn diagnostic_series_pass_count(reports : ArrayView[DiagnosticReport], minimum_inliers : Int, maximum_rms : Double) -> Intfn diagnostic_series_pass_ratio(reports : ArrayView[DiagnosticReport], minimum_inliers : Int, maximum_rms : Double) -> Doublefn diagnostic_series_quality(reports : ArrayView[DiagnosticReport], minimum_inliers : Int, maximum_rms : Double) -> Doublefn diagnostic_series_scale(reports : ArrayView[DiagnosticReport], scale : Double) -> Array[DiagnosticReport]fn diagnostic_series_take(reports : ArrayView[DiagnosticReport], count : Int) -> Array[DiagnosticReport]fn diagnostic_series_window(reports : ArrayView[DiagnosticReport], start : Int, width : Int) -> Array[DiagnosticReport]fn estimate_fundamental_ransac(left : ArrayView[Point2], right : ArrayView[Point2], config? : RansacConfig) -> RansacResult[FundamentalMatrix] raise GeometryErrorfn estimate_homography_ransac(src : ArrayView[Point2], dst : ArrayView[Point2], config? : RansacConfig) -> RansacResult[Homography] raise GeometryErrorfn evaluate_consensus_candidates(residual_sets : ArrayView[Array[Double]], threshold~ : Double) -> Array[ConsensusCandidate2]fn expected_successes(iterations~ : Int, inlier_ratio~ : Double, sample_size~ : Int) -> Double raise GeometryErrorfn huber_loss2(residual~ : Double, delta? : Double) -> Doublefn make_model_report(iterations~ : Int, inliers~ : Int, total~ : Int, score~ : Double, converged~ : Bool) -> ModelReportfn median_inlier_residual(residuals : ArrayView[Double], threshold : Double) -> Double raise GeometryErrorfn model_report_best(reports : ArrayView[ModelReport], minimum_ratio : Double, minimum_inliers : Int) -> ModelReport?fn model_report_best_index(reports : ArrayView[ModelReport], minimum_ratio : Double, minimum_inliers : Int) -> Intfn model_report_filter_inliers(reports : ArrayView[ModelReport], minimum_inliers : Int) -> Array[ModelReport]fn model_report_filter_ratio(reports : ArrayView[ModelReport], minimum_ratio : Double) -> Array[ModelReport]fn model_report_rank(reports : ArrayView[ModelReport], minimum_ratio : Double, minimum_inliers : Int) -> Array[Int]fn model_report_score(report : ModelReport, ratio_weight : Double, iteration_weight : Double) -> Doublefn model_selection_summary(reports : ArrayView[ModelReport], minimum_ratio : Double, minimum_inliers : Int) -> ModelSelectionSummaryfn quality_label(inlier_ratio : Double, median_error : Double, good_ratio : Double, max_error : Double) -> Stringfn rank_consensus_candidates(candidates : ArrayView[ConsensusCandidate2]) -> Array[ConsensusCandidate2]fn report_from_residuals(residuals : ArrayView[Double], threshold~ : Double) -> ConsensusReport raise GeometryErrorfn required_iterations(success_probability~ : Double, confidence? : Double) -> Int raise GeometryErrorfn residual_mean_for_mask(residuals : ArrayView[Double], mask : InlierMask) -> Double raise GeometryErrorfn residual_threshold_from_sigma(sigma~ : Double, confidence_multiplier? : Double) -> Double raise GeometryErrorfn robust_weighted_residual(residual : Double, weight : Double) -> Doublefn sample_batch_summary(indices : ArrayView[Int], population : Int, dimensions : Int) -> SampleBatchSummaryfn sample_without_replacement(length~ : Int, count~ : Int, seed~ : UInt) -> Array[Int] raise GeometryErrorfn schedule_required_iterations(sample_size : Int, inlier_ratio : Double, confidence : Double) -> Intfn score_mlesac_with_threshold(residuals : ArrayView[Double], threshold~ : Double, config : MlesacConfig) -> Doublefn score_residuals(residuals : ArrayView[Double], threshold~ : Double) -> RansacResult[Array[Double]] raise GeometryErrorfn sweep_thresholds(residuals : ArrayView[Double], thresholds : ArrayView[Double]) -> ThresholdSweepResultfn threshold_from_mad(residuals : ArrayView[Double], multiplier? : Double) -> Double raise GeometryErrorfn update_inlier_ratio(previous : Double, observed : Int, total : Int, momentum? : Double) -> DoubleInstall
Download zipCamera and multi-view geometry foundations for MoonBit: small fixed-size math, projection, distortion, homography, epipolar constraints, and RANSAC.