Sign in

    python123-ops/moon-cv-geometry/multiview does not have a README file

    Affine2D

    pub(all) struct Affine2D {
    a00 : Double
    a01 : Double
    a02 : Double
    a10 : Double
    a11 : Double
    a12 : Double
    } derive(Eq,
    Debug
    )

    Affine2D::determinant

    fn Affine2D::determinant(a : Affine2D) -> Double

    Affine2D::identity

    fn Affine2D::identity() -> Affine2D

    BaselineStatistics

    pub(all) struct BaselineStatistics {
    count : Int
    mean : Double
    minimum : Double
    maximum : Double
    rms : Double
    } derive(Eq,
    Debug
    )

    Baseline statistics for view-center distances.

    BundleStatistics

    pub(all) struct BundleStatistics {
    count : Int
    mean : Double
    rms : Double
    maximum : Double
    }

    Per-track residual statistics for bundle-adjustment diagnostics.

    EssentialMatrix

    pub(all) struct EssentialMatrix {
    matrix :
    Mat3

    } derive(Eq,
    Debug
    )

    FundamentalMatrix

    pub(all) struct FundamentalMatrix {
    matrix :
    Mat3

    } derive(Eq,
    Debug
    )

    ObservationMatrix

    pub(all) struct ObservationMatrix {
    views : Int
    tracks : Int
    cells : Array[Bool]
    }

    Dense observation occupancy matrix for view-track diagnostics.

    ObservationMatrix::contains

    fn ObservationMatrix::contains(matrix : ObservationMatrix, view : Int, track : Int) -> Bool

    ObservationMatrix::density

    fn ObservationMatrix::density(matrix : ObservationMatrix) -> Double

    ObservationMatrix::get

    fn ObservationMatrix::get(matrix : ObservationMatrix, view : Int, track : Int) -> Bool

    ObservationMatrix::new

    fn ObservationMatrix::new(views~ : Int, tracks~ : Int) -> ObservationMatrix

    ObservationMatrix::set

    fn ObservationMatrix::set(matrix : ObservationMatrix, view : Int, track : Int, present : Bool) -> Bool

    ObservationMatrix::track_degree

    fn ObservationMatrix::track_degree(matrix : ObservationMatrix, track : Int) -> Int

    ObservationMatrix::view_degree

    fn ObservationMatrix::view_degree(matrix : ObservationMatrix, view : Int) -> Int

    PointCloudReport

    pub(all) struct PointCloudReport {
    total : Int
    positive_depth : Int
    minimum_depth : Double
    maximum_depth : Double
    centroid :
    Point3

    } derive(Eq,
    Debug
    )

    PointCloudReport::depth_span

    fn PointCloudReport::depth_span(report : PointCloudReport) -> Double

    PointCloudReport::is_usable

    fn PointCloudReport::is_usable(report : PointCloudReport, minimum_ratio? : Double) -> Bool

    PointCloudReport::positive_ratio

    fn PointCloudReport::positive_ratio(report : PointCloudReport) -> Double

    PointMatch

    pub(all) struct PointMatch {
    left_index : Int
    right_index : Int
    distance : Double
    } derive(Eq,
    Debug
    )

    ReconstructionReport

    pub(all) struct ReconstructionReport {
    total : Int
    positive_depth : Int
    median_depth : Double
    median_parallax : Double
    } derive(Eq,
    Debug
    )

    ReconstructionTrackReport

    pub(all) struct ReconstructionTrackReport {
    total_tracks : Int
    triangulatable_tracks : Int
    total_observations : Int
    mean_views : Double
    maximum_views : Int
    } derive(Eq,
    Debug
    )

    Summary of feature tracks suitable for multi-view reconstruction.

    ReprojectionSummary

    pub(all) struct ReprojectionSummary {
    total : Int
    inliers : Int
    outliers : Int
    rms : Double
    mean_inlier : Double
    } derive(Eq,
    Debug
    )

    ReprojectionSummary::inlier_ratio

    fn ReprojectionSummary::inlier_ratio(summary : ReprojectionSummary) -> Double

    ReprojectionSummary::is_good

    fn ReprojectionSummary::is_good(summary : ReprojectionSummary, maximum_rms? : Double) -> Bool

    TrackAnalytics

    pub(all) struct TrackAnalytics {
    track_count : Int
    observation_count : Int
    mean_views : Double
    mean_span : Double
    maximum_span : Double
    duplicate_observations : Int
    } derive(Eq,
    Debug
    )

    Aggregate track-level visibility and pixel motion statistics.

    TrackGraph

    pub(all) struct TrackGraph {
    view_count : Int
    edges : Array[(Int, Int)]
    }

    Sparse view connectivity induced by shared feature tracks.

    TrackGraph::add_track

    fn TrackGraph::add_track(graph : TrackGraph, views : ArrayView[Int]) -> Unit

    TrackGraph::component_count

    fn TrackGraph::component_count(graph : TrackGraph) -> Int

    TrackGraph::connected

    fn TrackGraph::connected(graph : TrackGraph, start : Int, goal : Int) -> Bool

    TrackGraph::edge_count

    fn TrackGraph::edge_count(graph : TrackGraph) -> Int

    TrackGraph::new

    fn TrackGraph::new(view_count~ : Int) -> TrackGraph

    TrackIndex

    pub(all) struct TrackIndex {
    entries : Array[(Int, Int)]
    }

    In-memory index for feature-to-view incidence queries.

    TrackIndex::clear

    fn TrackIndex::clear(index : TrackIndex) -> Unit

    TrackIndex::contains

    fn TrackIndex::contains(index : TrackIndex, track : Int, view : Int) -> Bool

    TrackIndex::insert

    fn TrackIndex::insert(index : TrackIndex, track : Int, view : Int) -> Unit

    TrackIndex::new

    fn TrackIndex::new() -> TrackIndex

    TrackIndex::pair_count

    fn TrackIndex::pair_count(index : TrackIndex, left : Int, right : Int) -> Int

    TrackIndex::remove

    fn TrackIndex::remove(index : TrackIndex, track : Int, view : Int) -> Bool

    TrackIndex::shared_tracks

    fn TrackIndex::shared_tracks(index : TrackIndex, views : ArrayView[Int]) -> Array[Int]

    TrackIndex::total_observations

    fn TrackIndex::total_observations(index : TrackIndex) -> Int

    TrackIndex::track_count

    fn TrackIndex::track_count(index : TrackIndex) -> Int

    TrackIndex::track_degree_histogram

    fn TrackIndex::track_degree_histogram(index : TrackIndex) -> Array[Int]

    TrackIndex::tracks_for

    fn TrackIndex::tracks_for(index : TrackIndex, view : Int) -> Array[Int]

    TrackIndex::view_count

    fn TrackIndex::view_count(index : TrackIndex) -> Int

    TrackIndex::view_degree_histogram

    fn TrackIndex::view_degree_histogram(index : TrackIndex) -> Array[Int]

    TrackIndex::views_for

    fn TrackIndex::views_for(index : TrackIndex, track : Int) -> Array[Int]

    TrackObservation

    pub(all) struct TrackObservation {
    point_id : Int
    pixel :
    Point2

    view_id : Int
    } derive(Eq,
    Debug
    )

    TrackObservation::new

    fn TrackObservation::new(point_id~ : Int, pixel~ :
    Point2
    , view_id~ : Int) -> TrackObservation

    TrackQuality

    pub(all) struct TrackQuality {
    unique_views : Int
    pixel_span : Double
    has_unique_views : Bool
    centroid :
    Point2

    } derive(Eq,
    Debug
    )

    TrackQualityBatchSummary

    pub(all) struct TrackQualityBatchSummary {
    tracks : Int
    observations : Int
    accepted : Int
    rejected : Int
    mean_score : Double
    best_score : Double
    } derive(Eq,
    Debug
    )

    Quality gates for large multi-view track tables.

    TrackTable

    pub(all) struct TrackTable {
    observations : Array[TrackObservation]
    }

    TrackTable::add

    fn TrackTable::add(table : TrackTable, observation : TrackObservation) -> Unit

    TrackTable::is_triangulatable

    fn TrackTable::is_triangulatable(table : TrackTable, track_id : Int, minimum_views : Int) -> Bool

    TrackTable::new

    fn TrackTable::new() -> TrackTable

    TrackTable::observation_count

    fn TrackTable::observation_count(table : TrackTable) -> Int

    TrackTable::observations_for

    fn TrackTable::observations_for(table : TrackTable, track_id : Int) -> Array[TrackObservation]

    TrackTable::track_count

    fn TrackTable::track_count(table : TrackTable) -> Int

    TrackWindowSummary

    pub(all) struct TrackWindowSummary {
    observations : Int
    views : Int
    tracks : Int
    mean_motion : Double
    maximum_motion : Double
    temporal_span : Int
    } derive(Eq,
    Debug
    )

    Production track-window utilities for temporal filtering and keyframe selection.

    TriangulatedPoint

    pub(all) struct TriangulatedPoint {
    point :
    Point3

    separation : Double
    } derive(Eq,
    Debug
    )

    TriangulationGate

    pub(all) struct TriangulationGate {
    minimum_views : Int
    minimum_baseline : Double
    maximum_reprojection : Double
    } derive(Eq,
    Debug
    )

    TriangulationGate::new

    fn TriangulationGate::new(minimum_views~ : Int, minimum_baseline~ : Double, maximum_reprojection~ : Double) -> TriangulationGate

    ViewGraph

    pub(all) struct ViewGraph {
    adjacency : Array[Array[Bool]]
    } derive(Eq,
    Debug
    )

    ViewGraph::add_edge

    fn ViewGraph::add_edge(graph : ViewGraph, left : Int, right : Int) -> Unit

    ViewGraph::component_count

    fn ViewGraph::component_count(graph : ViewGraph) -> Int

    ViewGraph::has_edge

    fn ViewGraph::has_edge(graph : ViewGraph, left : Int, right : Int) -> Bool

    ViewGraph::new

    fn ViewGraph::new(view_count : Int) -> ViewGraph

    ViewGraph::view_count

    fn ViewGraph::view_count(graph : ViewGraph) -> Int

    WeightedPoseGraph

    pub(all) struct WeightedPoseGraph {
    vertices : Int
    weights : Array[Array[Double]]
    }

    Weighted graph of relative camera constraints.

    WeightedPoseGraph::component_count

    fn WeightedPoseGraph::component_count(graph : WeightedPoseGraph) -> Int

    WeightedPoseGraph::connect

    fn WeightedPoseGraph::connect(graph : WeightedPoseGraph, left : Int, right : Int, weight : Double) -> Unit

    WeightedPoseGraph::connected

    fn WeightedPoseGraph::connected(graph : WeightedPoseGraph, start : Int, goal : Int) -> Bool

    WeightedPoseGraph::degree

    fn WeightedPoseGraph::degree(graph : WeightedPoseGraph, vertex : Int) -> Int

    WeightedPoseGraph::disconnect

    fn WeightedPoseGraph::disconnect(graph : WeightedPoseGraph, left : Int, right : Int) -> Unit

    WeightedPoseGraph::edge_count

    fn WeightedPoseGraph::edge_count(graph : WeightedPoseGraph) -> Int

    WeightedPoseGraph::has_edge

    fn WeightedPoseGraph::has_edge(graph : WeightedPoseGraph, left : Int, right : Int) -> Bool

    WeightedPoseGraph::isolated_vertices

    fn WeightedPoseGraph::isolated_vertices(graph : WeightedPoseGraph) -> Array[Int]

    WeightedPoseGraph::neighbors

    fn WeightedPoseGraph::neighbors(graph : WeightedPoseGraph, vertex : Int) -> Array[Int]

    WeightedPoseGraph::new

    fn WeightedPoseGraph::new(vertices : Int) -> WeightedPoseGraph

    WeightedPoseGraph::normalize_weights

    fn WeightedPoseGraph::normalize_weights(graph : WeightedPoseGraph) -> WeightedPoseGraph

    WeightedPoseGraph::strongest_neighbor

    fn WeightedPoseGraph::strongest_neighbor(graph : WeightedPoseGraph, vertex : Int) -> Int?

    WeightedPoseGraph::weight

    fn WeightedPoseGraph::weight(graph : WeightedPoseGraph, left : Int, right : Int) -> Double

    WeightedPoseGraph::weight_sum

    fn WeightedPoseGraph::weight_sum(graph : WeightedPoseGraph) -> Double

    baseline_condition_score

    fn baseline_condition_score(statistics : BaselineStatistics, target : Double) -> Double

    baseline_graph_edges

    fn baseline_graph_edges(centers : ArrayView[
    Point3
    ], minimum : Double) -> Array[(Int, Int)]

    baseline_is_degenerate

    fn baseline_is_degenerate(statistics : BaselineStatistics, tolerance : Double) -> Bool

    baseline_is_usable

    baseline_pairwise_centers

    fn baseline_pairwise_centers(centers : ArrayView[
    Point3
    ]) -> Array[Double]

    baseline_statistics

    fn baseline_statistics(baselines : ArrayView[Double]) -> BaselineStatistics

    baseline_valid_ratio

    fn baseline_valid_ratio(baselines : ArrayView[Double], minimum : Double) -> Double

    bundle_statistics

    fn bundle_statistics(residuals : ArrayView[Double]) -> BundleStatistics

    camera_center_distances

    fn camera_center_distances(centers : ArrayView[
    Point3
    ]) -> Array[Double]

    camera_path_length

    fn camera_path_length(centers : ArrayView[
    Point3
    ]) -> Double

    cauchy_residual_cost

    fn cauchy_residual_cost(residuals : ArrayView[Double], scale : Double) -> Double

    charbonnier_residual_cost

    fn charbonnier_residual_cost(residuals : ArrayView[Double], epsilon : Double) -> Double

    count_inliers

    fn count_inliers(values : ArrayView[Bool]) -> Int

    count_true

    fn count_true(values : ArrayView[Bool]) -> Int

    deduplicate_observations

    fn deduplicate_observations(observations : ArrayView[TrackObservation]) -> Array[TrackObservation]

    deduplicate_track

    fn deduplicate_track(observations : ArrayView[TrackObservation]) -> Array[TrackObservation]

    essential_scale

    fn essential_scale(f : FundamentalMatrix) -> Double

    estimate_essential_from_fundamental

    estimate_fundamental_from_translation

    fn estimate_fundamental_from_translation(t :
    Vec3
    ) -> FundamentalMatrix

    filter_matches

    fn filter_matches(matches : ArrayView[PointMatch], maximum_distance~ : Double) -> Array[PointMatch]

    homography_condition_indicator

    fn homography_condition_indicator(h : Homography) -> Double

    huber_weights

    fn huber_weights(residuals : ArrayView[Double], threshold : Double) -> Array[Double]

    isolated_views

    fn isolated_views(graph : TrackGraph) -> Array[Int]

    match_distance_statistics

    fn match_distance_statistics(matches : ArrayView[PointMatch]) -> (Double, Double) raise
    GeometryError

    match_indices

    fn match_indices(matches : ArrayView[PointMatch]) -> (Array[Int], Array[Int])

    normalize_homography

    observation_count

    fn observation_count(tracks : ArrayView[PointTrack]) -> Int

    observation_pixel_rms

    fn observation_pixel_rms(observations : ArrayView[TrackObservation]) -> Double raise
    GeometryError

    pose_rotation_error

    positive_depth_mask

    fn positive_depth_mask(points : ArrayView[
    Point3
    ]) -> Array[Bool]

    reconstruction_track_report

    fn reconstruction_track_report(observations : ArrayView[TrackObservation], minimum_views~ : Int) -> ReconstructionTrackReport

    reconstruction_usable

    fn reconstruction_usable(report : ReconstructionReport, minimum_positive_ratio? : Double, minimum_parallax? : Double) -> Bool

    reprojection_summary

    fn reprojection_summary(residuals : ArrayView[Double], outlier_threshold~ : Double) -> ReprojectionSummary

    residual_block_2d

    Flatten a 2D reprojection residual into a solver block.

    residual_block_3d

    residual_inlier_count

    fn residual_inlier_count(residuals : ArrayView[Double], threshold : Double) -> Int

    residual_inlier_mask

    fn residual_inlier_mask(residuals : ArrayView[Double], threshold : Double) -> Array[Bool]

    residual_inlier_ratio2

    fn residual_inlier_ratio2(residuals : ArrayView[Double], threshold : Double) -> Double

    residual_maximum

    fn residual_maximum(residuals : ArrayView[Double]) -> Double

    residual_mean_absolute

    fn residual_mean_absolute(residuals : ArrayView[Double]) -> Double

    residual_norm_2d

    residual_norm_3d

    residual_norms

    fn residual_norms(matrix : ArrayView[Array[Double]]) -> Array[Double]

    residual_rms2

    fn residual_rms2(residuals : ArrayView[Double]) -> Double

    residual_weights_huber

    fn residual_weights_huber(residuals : ArrayView[Double], scale : Double) -> Array[Double]

    residual_weights_tukey

    fn residual_weights_tukey(residuals : ArrayView[Double], scale : Double) -> Array[Double]

    residuals_above

    fn residuals_above(residuals : ArrayView[Double], threshold : Double) -> Array[Int]

    robust_bundle_cost

    fn robust_bundle_cost(residuals : ArrayView[Double], threshold : Double) -> Double

    select_tracks_by_pixel_span

    fn select_tracks_by_pixel_span(observations : ArrayView[TrackObservation], minimum_span : Double) -> Array[Int]

    select_tracks_by_support

    fn select_tracks_by_support(observations : ArrayView[TrackObservation], minimum_views : Int) -> Array[Int]

    track_analytics

    fn track_analytics(observations : ArrayView[TrackObservation]) -> TrackAnalytics

    track_baseline_support

    fn track_baseline_support(observations : ArrayView[TrackObservation]) -> Int

    track_checksum

    fn track_checksum(observations : ArrayView[TrackObservation]) -> Double

    track_consistency_score

    fn track_consistency_score(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double) -> Double

    track_count_point

    fn track_count_point(observations : ArrayView[TrackObservation], point : Int) -> Int

    track_count_view

    fn track_count_view(observations : ArrayView[TrackObservation], view : Int) -> Int

    track_density

    fn track_density(observations : ArrayView[TrackObservation]) -> Double

    track_duplicate_pair_count

    fn track_duplicate_pair_count(observations : ArrayView[TrackObservation]) -> Int

    track_export_quality

    fn track_export_quality(observations : ArrayView[TrackObservation], minimum_views : Int, maximum_motion : Double) -> Double

    track_filter_quality

    fn track_filter_quality(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double) -> Array[Int]

    track_has_point

    fn track_has_point(observations : ArrayView[TrackObservation], point : Int) -> Bool

    track_has_view

    fn track_has_view(observations : ArrayView[TrackObservation], view : Int) -> Bool

    track_is_repeated

    fn track_is_repeated(observations : ArrayView[TrackObservation]) -> Bool

    track_max_motion

    fn track_max_motion(observations : ArrayView[TrackObservation]) -> Double

    track_mean_motion

    fn track_mean_motion(observations : ArrayView[TrackObservation]) -> Double

    track_motion_is_smooth

    fn track_motion_is_smooth(observations : ArrayView[TrackObservation], threshold : Double) -> Bool

    track_neighbors

    fn track_neighbors(graph : TrackGraph, view : Int) -> Array[Int]

    track_observation_checksum

    fn track_observation_checksum(observation : TrackObservation) -> Double

    track_observation_csv

    fn track_observation_csv(observation : TrackObservation) -> String

    Stable export helpers for track audit and downstream analytics.

    track_observation_matrix

    fn track_observation_matrix(observations : ArrayView[TrackObservation]) -> ObservationMatrix

    track_observations_csv

    fn track_observations_csv(observations : ArrayView[TrackObservation]) -> String

    track_observations_for

    fn track_observations_for(observations : ArrayView[TrackObservation], point_id : Int) -> Array[TrackObservation]

    track_pixel_centroid

    track_pixel_density

    fn track_pixel_density(observations : ArrayView[TrackObservation]) -> Double

    track_pixel_motion

    fn track_pixel_motion(observations : ArrayView[TrackObservation]) -> Array[Double]

    track_pixel_radius

    fn track_pixel_radius(observations : ArrayView[TrackObservation]) -> Double

    track_pixel_span

    fn track_pixel_span(observations : ArrayView[TrackObservation]) -> Double

    track_point_first

    fn track_point_first(observations : ArrayView[TrackObservation]) -> Int

    track_point_last

    fn track_point_last(observations : ArrayView[TrackObservation]) -> Int

    track_point_span

    fn track_point_span(observations : ArrayView[TrackObservation]) -> Int

    track_quality

    fn track_quality(observations : ArrayView[TrackObservation]) -> TrackQuality

    track_quality_batch_accepted_ids

    fn track_quality_batch_accepted_ids(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double, threshold : Double) -> Array[Int]

    track_quality_batch_balance

    fn track_quality_batch_balance(observations : ArrayView[TrackObservation]) -> Double

    track_quality_batch_csv

    fn track_quality_batch_csv(summary : TrackQualityBatchSummary) -> String

    track_quality_batch_duplicate_ratio

    fn track_quality_batch_duplicate_ratio(observations : ArrayView[TrackObservation]) -> Double

    track_quality_batch_filter

    fn track_quality_batch_filter(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double, threshold : Double) -> Array[TrackObservation]

    track_quality_batch_ids

    fn track_quality_batch_ids(observations : ArrayView[TrackObservation]) -> Array[Int]

    track_quality_batch_is_usable

    fn track_quality_batch_is_usable(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double, threshold : Double) -> Bool

    track_quality_batch_max_span

    fn track_quality_batch_max_span(observations : ArrayView[TrackObservation]) -> Double

    track_quality_batch_mean_span

    fn track_quality_batch_mean_span(observations : ArrayView[TrackObservation]) -> Double

    track_quality_batch_mean_views

    fn track_quality_batch_mean_views(observations : ArrayView[TrackObservation]) -> Double

    track_quality_batch_merge

    fn track_quality_batch_merge(left : TrackQualityBatchSummary, right : TrackQualityBatchSummary) -> TrackQualityBatchSummary

    track_quality_batch_motion_support

    fn track_quality_batch_motion_support(observations : ArrayView[TrackObservation], maximum : Double) -> Double

    track_quality_batch_reject

    fn track_quality_batch_reject(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double, threshold : Double) -> Array[TrackObservation]

    track_quality_batch_rejected_ids

    fn track_quality_batch_rejected_ids(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double, threshold : Double) -> Array[Int]

    track_quality_batch_score

    fn track_quality_batch_score(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double) -> Double

    track_quality_batch_scores

    fn track_quality_batch_scores(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double) -> Array[Double]

    track_quality_batch_stable_windows

    fn track_quality_batch_stable_windows(observations : ArrayView[TrackObservation], window : Int, minimum_views : Int, minimum_span : Double, threshold : Double) -> Array[Int]

    track_quality_batch_summary

    fn track_quality_batch_summary(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double, threshold : Double) -> TrackQualityBatchSummary

    track_quality_batch_temporal_density

    fn track_quality_batch_temporal_density(observations : ArrayView[TrackObservation]) -> Double

    track_quality_batch_view_support

    fn track_quality_batch_view_support(observations : ArrayView[TrackObservation], minimum : Int) -> Double

    track_quality_batch_window

    fn track_quality_batch_window(observations : ArrayView[TrackObservation], first_view : Int, last_view : Int, minimum_views : Int, minimum_span : Double) -> Double

    track_quality_score2

    fn track_quality_score2(observations : ArrayView[TrackObservation], minimum_views : Int, minimum_span : Double) -> Double

    track_unique_pair_ratio

    fn track_unique_pair_ratio(observations : ArrayView[TrackObservation]) -> Double

    track_view_density

    fn track_view_density(observations : ArrayView[TrackObservation], total_views : Int) -> Double

    track_view_first

    fn track_view_first(observations : ArrayView[TrackObservation]) -> Int

    track_view_gap_count

    fn track_view_gap_count(observations : ArrayView[TrackObservation]) -> Int

    track_view_ids

    fn track_view_ids(observations : ArrayView[TrackObservation]) -> Array[Int]

    track_view_last

    fn track_view_last(observations : ArrayView[TrackObservation]) -> Int

    track_view_span

    fn track_view_span(observations : ArrayView[TrackObservation]) -> Int

    track_visibility

    fn track_visibility(track : PointTrack, pose :
    CameraPose
    , near? : Double) -> Bool

    track_window_append_unique

    fn track_window_append_unique(target : Array[TrackObservation], observations : ArrayView[TrackObservation]) -> Unit

    track_window_consistent_motion

    fn track_window_consistent_motion(observations : ArrayView[TrackObservation], tolerance : Double) -> Bool

    track_window_deduplicate

    fn track_window_deduplicate(observations : ArrayView[TrackObservation]) -> Array[TrackObservation]

    track_window_gap_penalty

    fn track_window_gap_penalty(observations : ArrayView[TrackObservation]) -> Double

    track_window_group_by_point

    fn track_window_group_by_point(observations : ArrayView[TrackObservation], point_id : Int) -> Array[TrackObservation]

    track_window_group_by_view

    fn track_window_group_by_view(observations : ArrayView[TrackObservation], view_id : Int) -> Array[TrackObservation]

    track_window_interpolate

    fn track_window_interpolate(a : TrackObservation, b : TrackObservation, view_id : Int) -> TrackObservation

    track_window_interpolate_gap

    fn track_window_interpolate_gap(observations : ArrayView[TrackObservation], point_id : Int, start_view : Int, end_view : Int) -> Array[TrackObservation]

    track_window_keyframe_score

    fn track_window_keyframe_score(observations : ArrayView[TrackObservation], minimum_tracks : Int) -> Double

    track_window_limit_points

    fn track_window_limit_points(observations : ArrayView[TrackObservation], first_point : Int, last_point : Int) -> Array[TrackObservation]

    track_window_limit_views

    fn track_window_limit_views(observations : ArrayView[TrackObservation], first_view : Int, last_view : Int) -> Array[TrackObservation]

    track_window_point_counts

    fn track_window_point_counts(observations : ArrayView[TrackObservation]) -> Array[Int]

    track_window_reliability

    fn track_window_reliability(observations : ArrayView[TrackObservation], minimum_views : Int, maximum_motion : Double) -> Double

    track_window_retain_best

    fn track_window_retain_best(observations : ArrayView[TrackObservation], maximum_per_point : Int) -> Array[TrackObservation]

    track_window_select_keyframes

    fn track_window_select_keyframes(observations : ArrayView[TrackObservation], minimum_tracks : Int, threshold : Double) -> Array[Int]

    track_window_sort_by_point

    fn track_window_sort_by_point(observations : ArrayView[TrackObservation]) -> Array[TrackObservation]

    track_window_sort_by_view

    fn track_window_sort_by_view(observations : ArrayView[TrackObservation]) -> Array[TrackObservation]

    track_window_summary

    fn track_window_summary(observations : ArrayView[TrackObservation]) -> TrackWindowSummary

    track_window_temporal_gaps

    fn track_window_temporal_gaps(observations : ArrayView[TrackObservation]) -> Array[Int]

    track_window_view_balance

    fn track_window_view_balance(observations : ArrayView[TrackObservation]) -> Double

    track_window_view_counts

    fn track_window_view_counts(observations : ArrayView[TrackObservation]) -> Array[Int]

    tracks_with_minimum_views

    fn tracks_with_minimum_views(matrix : ObservationMatrix, minimum : Int) -> Array[Int]

    triangulated_point_is_in_front

    triangulation_angle

    triangulation_depth_indices

    fn triangulation_depth_indices(depths : ArrayView[Double], minimum : Double, maximum : Double) -> Array[Int]

    triangulation_depth_is_valid

    fn triangulation_depth_is_valid(depth : Double, minimum : Double, maximum : Double) -> Bool

    triangulation_depth_mask

    fn triangulation_depth_mask(depths : ArrayView[Double], minimum : Double, maximum : Double) -> Array[Bool]

    triangulation_gate_accepts

    fn triangulation_gate_accepts(gate : TriangulationGate, view_count : Int, baseline : Double, reprojection : Double) -> Bool

    triangulation_is_well_conditioned

    fn triangulation_is_well_conditioned(result : TriangulatedPoint, max_separation? : Double) -> Bool

    triangulation_quality

    fn triangulation_quality(result : TriangulatedPoint, angle : Double, separation_limit : Double) -> Double

    triangulation_reprojection_check

    fn triangulation_reprojection_check(result : TriangulatedPoint, left :
    Ray3
    , right :
    Ray3
    , threshold~ : Double) -> Bool

    unique_right_matches

    fn unique_right_matches(matches : ArrayView[PointMatch]) -> Array[PointMatch]

    views_with_minimum_tracks

    fn views_with_minimum_tracks(matrix : ObservationMatrix, minimum : Int) -> Array[Int]

    visible_track_count

    weighted_cost

    fn weighted_cost(residuals : ArrayView[Double], weights : ArrayView[Double]) -> Double

    weighted_residual_cost

    fn weighted_residual_cost(residuals : ArrayView[Double], weights : ArrayView[Double], loss_scale : Double) -> Double