Sign in

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

    CalibrationBatchReport

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

    Aggregated reprojection diagnostics for one calibration batch.

    CalibrationBatchSummary

    pub(all) struct CalibrationBatchSummary {
    count : Int
    mean_error : Double
    maximum_error : Double
    median_error : Double
    valid_ratio : Double
    score : Double
    } derive(Eq,
    Debug
    )

    Batch calibration diagnostics for repeated image measurements.

    CalibrationGrid

    pub(all) struct CalibrationGrid {
    columns : Int
    rows : Int
    spacing : Double
    } derive(Eq,
    Debug
    )

    CalibrationReport

    pub(all) struct CalibrationReport {
    observations : Int
    cost : Double
    rms : Double
    max_error : Double
    valid : Bool
    } derive(Eq,
    Debug
    )

    CalibrationResidual

    pub(all) struct CalibrationResidual {
    index : Int
    residual :
    Vec2

    norm : Double
    valid : Bool
    } derive(Eq,
    Debug
    )

    CameraIntrinsics

    pub(all) struct CameraIntrinsics {
    fx : Double
    fy : Double
    cx : Double
    cy : Double
    skew : Double
    } derive(Eq,
    Debug
    )

    CameraIntrinsics::focal_mean

    fn CameraIntrinsics::focal_mean(k : CameraIntrinsics) -> Double

    CameraIntrinsics::for_centered_image

    fn CameraIntrinsics::for_centered_image(focal~ : Double, size : ImageSize, skew? : Double) -> CameraIntrinsics raise
    GeometryError

    CameraIntrinsics::new

    fn CameraIntrinsics::new(fx~ : Double, fy~ : Double, cx~ : Double, cy~ : Double, skew? : Double) -> CameraIntrinsics

    CameraIntrinsics::pixel_aspect

    CameraIntrinsics::principal_point

    CameraIntrinsics::scaled

    CameraIntrinsics::valid

    fn CameraIntrinsics::valid(k : CameraIntrinsics) -> Bool

    CameraIntrinsics::with_principal_point

    CameraPose

    pub(all) struct CameraPose {
    world_to_camera :
    Mat34

    } derive(Eq,
    Debug
    )

    CameraPose::camera_center

    CameraPose::from_rotation_translation

    CameraPose::identity

    fn CameraPose::identity() -> CameraPose

    CameraPose::interpolate

    fn CameraPose::interpolate(a : CameraPose, b : CameraPose, amount : Double) -> CameraPose

    CameraPose::inverse_transform_point

    CameraPose::new

    CameraPose::translation

    CameraRig

    pub(all) struct CameraRig {
    views : Array[CameraView]
    } derive(Eq,
    Debug
    )

    CameraRig::find

    fn CameraRig::find(rig : CameraRig, view_id : Int) -> CameraView?

    CameraRig::length

    fn CameraRig::length(rig : CameraRig) -> Int

    CameraRig::new

    CameraRig::visible_in_all

    fn CameraRig::visible_in_all(rig : CameraRig, point :
    Point3
    ) -> Bool

    CameraView

    pub(all) struct CameraView {
    view_id : Int
    intrinsics : CameraIntrinsics
    pose : CameraPose
    } derive(Eq,
    Debug
    )

    CameraView::new

    fn CameraView::new(id~ : Int, intrinsics~ : CameraIntrinsics, pose~ : CameraPose) -> CameraView

    DepthHistogram

    pub(all) struct DepthHistogram {
    bins : Array[Int]
    total : Int
    valid : Int
    minimum : Double
    maximum : Double
    } derive(Eq,
    Debug
    )

    DepthQuality

    pub(all) struct DepthQuality {
    valid_count : Int
    total_count : Int
    valid_ratio : Double
    span : Double
    } derive(Eq,
    Debug
    )

    Summary of valid depth support in a frame or reconstruction tile.

    Distortion

    pub(all) struct Distortion {
    k1 : Double
    k2 : Double
    p1 : Double
    p2 : Double
    k3 : Double
    } derive(Eq,
    Debug
    )

    Distortion::brown_conrady

    fn Distortion::brown_conrady(k1? : Double, k2? : Double, p1? : Double, p2? : Double, k3? : Double) -> Distortion

    Distortion::none

    fn Distortion::none() -> Distortion

    Frustum

    pub(all) struct Frustum {
    left : Double
    right : Double
    top : Double
    bottom : Double
    near : Double
    far : Double
    } derive(Eq,
    Debug
    )

    Frustum::contains

    Frustum::from_intrinsics

    fn Frustum::from_intrinsics(k : CameraIntrinsics, size : ImageSize, near~ : Double, far~ : Double) -> Frustum raise
    GeometryError

    ImageLevel

    pub(all) struct ImageLevel {
    scale : Double
    size : ImageSize
    intrinsics : CameraIntrinsics
    }

    One level of an image-coordinate pyramid.

    ImageLevel::new

    fn ImageLevel::new(scale~ : Double, size~ : ImageSize, intrinsics~ : CameraIntrinsics) -> ImageLevel

    ImagePyramidLevel

    pub(all) struct ImagePyramidLevel {
    size : ImageSize
    intrinsics : CameraIntrinsics
    level : Int
    } derive(Eq,
    Debug
    )

    ImageSize

    pub(all) struct ImageSize {
    width : Int
    height : Int
    } derive(Eq,
    Debug
    )

    ImageSupport

    pub(all) struct ImageSupport {
    total : Int
    valid_count : Int
    invalid_count : Int
    valid_ratio : Double
    margin_min : Double
    } derive(Eq,
    Debug
    )

    Valid image support summary for projected measurements.

    ImageWindowStats

    pub(all) struct ImageWindowStats {
    count : Int
    minimum : Double
    maximum : Double
    mean : Double
    variance : Double
    energy : Double
    } derive(Eq,
    Debug
    )

    Deterministic image-window operations for feature scoring and calibration.

    ProjectedObservation

    pub(all) struct ProjectedObservation {
    view_id : Int
    pixel :
    Point2

    } derive(Eq,
    Debug
    )

    ProjectionJacobian

    pub(all) struct ProjectionJacobian {
    du_dx : Double
    du_dy : Double
    du_dz : Double
    dv_dx : Double
    dv_dy : Double
    dv_dz : Double
    } derive(Eq,
    Debug
    )

    RayBundleReport

    pub(all) struct RayBundleReport {
    count : Int
    mean_direction_norm : Double
    min_direction_z : Double
    max_direction_z : Double
    } derive(Eq,
    Debug
    )

    A compact diagnostic for a batch of camera rays.

    RollingShutter

    pub(all) struct RollingShutter {
    readout_seconds : Double
    image_height : Int
    } derive(Eq,
    Debug
    )

    RollingShutter::midpoint_time

    fn RollingShutter::midpoint_time(model : RollingShutter) -> Double

    RollingShutter::new

    fn RollingShutter::new(readout_seconds~ : Double, image_height~ : Int) -> RollingShutter raise
    GeometryError

    RollingShutter::row_time

    fn RollingShutter::row_time(model : RollingShutter, y : Double) -> Double

    StereoDepthReport

    pub(all) struct StereoDepthReport {
    total : Int
    valid_count : Int
    invalid_count : Int
    mean : Double
    minimum : Double
    maximum : Double
    } derive(Eq,
    Debug
    )

    Summary of stereo depth recovered from disparity measurements.

    StereoPair

    pub(all) struct StereoPair {
    left : CameraIntrinsics
    right : CameraIntrinsics
    baseline : Double
    } derive(Eq,
    Debug
    )

    StereoPair::depth

    fn StereoPair::depth(pair : StereoPair, disparity : Double) -> Double raise
    GeometryError

    StereoPair::disparity

    fn StereoPair::disparity(pair : StereoPair, depth : Double) -> Double raise
    GeometryError

    StereoPair::valid_disparity

    fn StereoPair::valid_disparity(pair : StereoPair, disparity : Double, minimum? : Double) -> Bool

    blend_distortion

    fn blend_distortion(a : Distortion, b : Distortion, amount : Double) -> Distortion

    border_distance

    fn border_distance(size : ImageSize, pixel :
    Point2
    ) -> Double

    build_image_pyramid

    fn build_image_pyramid(base_size : ImageSize, base_intrinsics : CameraIntrinsics, levels : Int, scale_step? : Double) -> Array[ImageLevel] raise
    GeometryError

    calibration_acceptance

    fn calibration_acceptance(report : CalibrationReport, coverage : Double, minimum_coverage? : Double) -> Bool

    calibration_auc

    fn calibration_auc(thresholds : ArrayView[Double], values : ArrayView[Double]) -> Double

    calibration_batch_chunks

    calibration_batch_inlier_count

    fn calibration_batch_inlier_count(errors : ArrayView[Double], threshold : Double) -> Int

    calibration_batch_inlier_ratio

    fn calibration_batch_inlier_ratio(errors : ArrayView[Double], threshold : Double) -> Double

    calibration_batch_merge

    fn calibration_batch_merge(left : CalibrationBatchSummary, right : CalibrationBatchSummary) -> CalibrationBatchSummary

    calibration_batch_merge_all

    fn calibration_batch_merge_all(summaries : ArrayView[CalibrationBatchSummary]) -> CalibrationBatchSummary

    calibration_best_loss

    fn calibration_best_loss(losses : ArrayView[Double]) -> Double

    calibration_error_histogram

    fn calibration_error_histogram(errors : ArrayView[Double], bins : Int, maximum : Double) -> Array[Int]

    calibration_error_improvement

    fn calibration_error_improvement(previous : ArrayView[Double], current : ArrayView[Double]) -> Double

    calibration_error_percentile

    fn calibration_error_percentile(residuals : ArrayView[CalibrationResidual], probability : Double) -> Double raise
    GeometryError

    calibration_error_stats

    fn calibration_error_stats(errors : ArrayView[Double]) -> CalibrationBatchSummary

    calibration_errors_from_pairs

    calibration_focal_aspect

    fn calibration_focal_aspect(intrinsics : CameraIntrinsics) -> Double

    calibration_has_converged

    fn calibration_has_converged(losses : ArrayView[Double], tolerance : Double, window : Int) -> Bool

    calibration_histogram_mass

    fn calibration_histogram_mass(histogram : ArrayView[Int], first : Int, last : Int) -> Int

    calibration_histogram_peak

    fn calibration_histogram_peak(histogram : ArrayView[Int]) -> Int

    calibration_improvement_ratio

    fn calibration_improvement_ratio(previous : Double, current : Double) -> Double

    calibration_inlier_count

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

    calibration_inlier_flags

    fn calibration_inlier_flags(errors : ArrayView[Double], threshold : Double) -> Array[Bool]

    calibration_inlier_mask

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

    calibration_inlier_ratio

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

    calibration_intrinsics_interpolate

    fn calibration_intrinsics_interpolate(before : CameraIntrinsics, after : CameraIntrinsics, amount : Double) -> CameraIntrinsics

    calibration_intrinsics_score

    fn calibration_intrinsics_score(intrinsics : CameraIntrinsics, size : ImageSize) -> Double

    calibration_intrinsics_smooth

    fn calibration_intrinsics_smooth(history : ArrayView[CameraIntrinsics]) -> CameraIntrinsics

    calibration_is_improving

    fn calibration_is_improving(history : ArrayView[Double], tolerance : Double) -> Bool

    calibration_is_usable

    fn calibration_is_usable(report : CalibrationReport, max_rms? : Double) -> Bool

    calibration_iteration_budget

    fn calibration_iteration_budget(levels : Int, iterations_per_level : Int) -> Int

    calibration_level_of_iteration

    fn calibration_level_of_iteration(iteration : Int, iterations_per_level : Int, levels : Int) -> Int

    calibration_loss_delta

    fn calibration_loss_delta(previous : Double, current : Double) -> Double

    calibration_loss_history_append

    fn calibration_loss_history_append(history : Array[Double], loss : Double, capacity : Int) -> Unit

    calibration_max_error

    fn calibration_max_error(errors : ArrayView[Double]) -> Double

    calibration_mean_error

    fn calibration_mean_error(errors : ArrayView[Double]) -> Double

    calibration_parameter_delta

    fn calibration_parameter_delta(before : CameraIntrinsics, after : CameraIntrinsics) -> Double

    calibration_percentile_error

    fn calibration_percentile_error(errors : ArrayView[Double], percentile : Double) -> Double

    calibration_principal_offset

    fn calibration_principal_offset(intrinsics : CameraIntrinsics, size : ImageSize) -> Double

    calibration_progress

    fn calibration_progress(iteration : Int, total : Int) -> Double

    calibration_quality_curve

    fn calibration_quality_curve(errors : ArrayView[Double], thresholds : ArrayView[Double]) -> Array[Double]

    calibration_quality_score

    fn calibration_quality_score(report : CalibrationBatchReport, expected_count : Int, target_rms : Double) -> Double

    calibration_report

    calibration_report_csv

    fn calibration_report_csv(summary : CalibrationBatchSummary) -> String

    calibration_report_is_usable

    fn calibration_report_is_usable(report : CalibrationBatchReport, maximum_rms : Double, minimum_valid : Int) -> Bool

    calibration_report_label

    fn calibration_report_label(summary : CalibrationBatchSummary) -> String

    calibration_rms_error

    fn calibration_rms_error(errors : ArrayView[Double]) -> Double

    calibration_should_stop

    fn calibration_should_stop(iteration : Int, total : Int, loss : Double, target : Double) -> Bool

    calibration_squared_errors_from_pairs

    fn calibration_squared_errors_from_pairs(predicted : ArrayView[
    Point2
    ], observed : ArrayView[
    Point2
    ]) -> Array[Double]

    calibration_step_schedule

    fn calibration_step_schedule(initial~ : Double, decay~ : Double, count~ : Int) -> Array[Double]

    Geometric step schedule for deterministic calibration refinement.

    calibration_stop

    fn calibration_stop(history : ArrayView[Double], patience : Int, tolerance : Double) -> Bool

    calibration_temperature_schedule

    fn calibration_temperature_schedule(initial : Double, cooling : Double, count : Int) -> Array[Double]

    calibration_trimmed_errors

    fn calibration_trimmed_errors(errors : ArrayView[Double], trim_ratio : Double) -> Array[Double]

    calibration_trimmed_mean

    fn calibration_trimmed_mean(errors : ArrayView[Double], trim_ratio : Double) -> Double

    calibration_weighted_error

    fn calibration_weighted_error(errors : ArrayView[Double], weights : ArrayView[Double]) -> Double

    camera_center_path

    camera_model_score

    fn camera_model_score(k : CameraIntrinsics, size : ImageSize) -> Double

    camera_parameter_clamp

    fn camera_parameter_clamp(intrinsics : CameraIntrinsics, minimum_focal : Double, maximum_focal : Double) -> CameraIntrinsics

    camera_parameter_delta

    fn camera_parameter_delta(left : CameraIntrinsics, right : CameraIntrinsics) -> Array[Double]

    camera_parameter_norm

    fn camera_parameter_norm(intrinsics : CameraIntrinsics) -> Double

    camera_parameter_vector

    fn camera_parameter_vector(intrinsics : CameraIntrinsics) -> Array[Double]

    camera_ray_field

    Generate a regular camera ray field for scan matching and calibration.

    camera_ray_field_direction_spread

    fn camera_ray_field_direction_spread(rays : ArrayView[
    Ray3
    ]) -> Double

    camera_ray_field_directions

    camera_ray_field_forward_ratio

    fn camera_ray_field_forward_ratio(rays : ArrayView[
    Ray3
    ]) -> Double

    camera_ray_field_mean_direction

    clamp_depths

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

    clip_disparities

    fn clip_disparities(disparities : ArrayView[Double], minimum : Double, maximum : Double) -> Array[Double]

    count_depth_holes

    fn count_depth_holes(depths : ArrayView[Double], minimum : Double) -> Int

    coverage_fraction

    fn coverage_fraction(observations : ArrayView[CalibrationObservation], size : ImageSize) -> Double

    depth_from_disparity

    fn depth_from_disparity(focal~ : Double, baseline~ : Double, disparity~ : Double) -> Double raise
    GeometryError

    depth_histogram

    fn depth_histogram(depths : ArrayView[Double], bins~ : Int, minimum~ : Double, maximum~ : Double) -> DepthHistogram

    depth_histogram_entropy

    fn depth_histogram_entropy(histogram : DepthHistogram) -> Double

    depth_histogram_peak

    fn depth_histogram_peak(histogram : DepthHistogram) -> Int

    depth_percentile

    fn depth_percentile(depths : ArrayView[Double], percentile : Double) -> Double raise
    GeometryError

    depth_percentile2

    fn depth_percentile2(depths : ArrayView[Double], probability : Double) -> Double raise
    GeometryError

    depth_quality

    fn depth_quality(depths : ArrayView[Double], minimum~ : Double, maximum~ : Double) -> DepthQuality

    depth_to_disparity

    fn depth_to_disparity(depth : Double, baseline : Double, focal : Double) -> Double

    depth_trimmed_mean

    fn depth_trimmed_mean(depths : ArrayView[Double], minimum : Double, maximum : Double) -> Double

    depth_uncertainty

    fn depth_uncertainty(focal~ : Double, baseline~ : Double, disparity~ : Double, disparity_error~ : Double) -> Double raise
    GeometryError

    depth_valid_indices

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

    depth_valid_mask

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

    disparity_confidence

    fn disparity_confidence(disparity : Double, minimum : Double, maximum : Double) -> Double

    disparity_error_to_depth_error

    fn disparity_error_to_depth_error(disparity : Double, disparity_error : Double, baseline : Double, focal : Double) -> Double

    disparity_from_depth

    fn disparity_from_depth(focal~ : Double, baseline~ : Double, depth~ : Double) -> Double raise
    GeometryError

    disparity_histogram

    fn disparity_histogram(disparities : ArrayView[Double], bins : Int, minimum : Double, maximum : Double) -> Array[Int]

    disparity_is_valid

    fn disparity_is_valid(disparity : Double, minimum : Double, maximum : Double) -> Bool

    disparity_mean

    fn disparity_mean(disparities : ArrayView[Double], minimum : Double, maximum : Double) -> Double

    disparity_scan

    fn disparity_scan(minimum~ : Double, maximum~ : Double, steps~ : Int) -> Array[Double]

    Generate a uniformly spaced disparity search interval.

    disparity_to_depth

    fn disparity_to_depth(disparity : Double, baseline : Double, focal : Double) -> Double

    disparity_valid_indices

    fn disparity_valid_indices(disparities : ArrayView[Double], minimum : Double, maximum : Double) -> Array[Int]

    disparity_variance

    fn disparity_variance(disparities : ArrayView[Double], minimum : Double, maximum : Double) -> Double

    distortion_corrected_radii

    fn distortion_corrected_radii(radii : ArrayView[Double], distortion : Distortion) -> Array[Double]

    distortion_displacement

    Difference between distorted and ideal normalized image coordinates.

    distortion_displacement_field

    distortion_is_identity

    fn distortion_is_identity(d : Distortion) -> Bool

    distortion_is_negligible

    fn distortion_is_negligible(points : ArrayView[
    Point2
    ], distortion : Distortion, tolerance : Double) -> Bool

    distortion_magnitude_field

    fn distortion_magnitude_field(points : ArrayView[
    Point2
    ], distortion : Distortion) -> Array[Double]

    distortion_max

    fn distortion_max(points : ArrayView[
    Point2
    ], distortion : Distortion) -> Double

    distortion_parameter_distance

    fn distortion_parameter_distance(a : Distortion, b : Distortion) -> Double

    distortion_parameter_norm

    fn distortion_parameter_norm(distortion : Distortion) -> Double

    distortion_radial_profile

    fn distortion_radial_profile(radii : ArrayView[Double], distortion : Distortion) -> Array[Double]

    distortion_rms

    fn distortion_rms(points : ArrayView[
    Point2
    ], distortion : Distortion) -> Double

    distortion_strength

    fn distortion_strength(d : Distortion) -> Double

    duplicate_pose_sequence

    fn duplicate_pose_sequence(poses : ArrayView[CameraPose], repetitions : Int) -> Array[CameraPose]

    feature_grid_spacing

    fn feature_grid_spacing(size : ImageSize, desired_count : Int) -> Int

    field_of_view_pair

    fn field_of_view_pair(intrinsics : CameraIntrinsics, size : ImageSize) -> (Double, Double) raise
    GeometryError

    focal_consistency

    fn focal_consistency(k : CameraIntrinsics) -> Double

    focal_from_fov

    fn focal_from_fov(sensor_extent~ : Double, fov_radians~ : Double) -> Double raise
    GeometryError

    focal_from_horizontal_fov_safe

    fn focal_from_horizontal_fov_safe(size : ImageSize, fov : Double) -> Double raise
    GeometryError

    forward_rays

    Return only forward-facing rays for a camera-centered reconstruction.

    front_facing_ratio

    fn front_facing_ratio(points : ArrayView[
    Point3
    ]) -> Double

    horizontal_fov

    fn horizontal_fov(intrinsics : CameraIntrinsics, width~ : Double) -> Double raise
    GeometryError

    image_diagonal_fov

    fn image_diagonal_fov(intrinsics : CameraIntrinsics, size : ImageSize) -> Double raise
    GeometryError

    image_feature_grid

    fn image_feature_grid(size : ImageSize, step~ : Int) -> Array[
    Point2
    ]

    image_feature_grid_count

    fn image_feature_grid_count(size : ImageSize, step : Int) -> Int

    image_feature_grid_interior

    fn image_feature_grid_interior(size : ImageSize, margin : Int, step : Int) -> Array[
    Point2
    ]

    image_margin

    fn image_margin(pixel :
    Point2
    , size : ImageSize) -> Double

    image_margin_histogram

    fn image_margin_histogram(size : ImageSize, pixels : ArrayView[
    Point2
    ], bins : Int) -> Array[Int]

    image_metric_contrast

    fn image_metric_contrast(values : ArrayView[Double]) -> Double

    image_metric_mae

    fn image_metric_mae(left : ArrayView[Double], right : ArrayView[Double]) -> Double

    Final image-metric helpers for benchmark reports.

    image_metric_mse

    fn image_metric_mse(left : ArrayView[Double], right : ArrayView[Double]) -> Double

    image_metric_ncc

    fn image_metric_ncc(left : ArrayView[Double], right : ArrayView[Double]) -> Double

    image_metric_psnr

    fn image_metric_psnr(left : ArrayView[Double], right : ArrayView[Double], peak : Double) -> Double

    image_metric_quality

    fn image_metric_quality(values : ArrayView[Double], minimum_contrast : Double) -> Double

    image_metric_range

    fn image_metric_range(values : ArrayView[Double]) -> Double

    image_metric_report

    fn image_metric_report(values : ArrayView[Double], reference : ArrayView[Double]) -> String

    image_metric_rmse

    fn image_metric_rmse(left : ArrayView[Double], right : ArrayView[Double]) -> Double

    image_metric_valid_ratio

    fn image_metric_valid_ratio(values : ArrayView[Double]) -> Double

    image_pyramid

    image_ray_grid

    fn image_ray_grid(size : ImageSize, intrinsics : CameraIntrinsics, columns : Int, rows : Int) -> Array[
    Ray3
    ]

    Create a ray through every point of a regular image lattice.

    image_support_mask

    image_support_ratio

    fn image_support_ratio(size : ImageSize, pixels : ArrayView[
    Point2
    ]) -> Double

    image_window_accumulate

    fn image_window_accumulate(target : Array[Double], source : ArrayView[Double], scale : Double) -> Unit

    image_window_add

    fn image_window_add(left : ArrayView[Double], right : ArrayView[Double]) -> Array[Double]

    image_window_binary_count

    fn image_window_binary_count(values : ArrayView[Double], threshold : Double) -> Int

    image_window_box_mean

    fn image_window_box_mean(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int, radius : Int) -> Double

    image_window_box_sum

    fn image_window_box_sum(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int, radius : Int) -> Double

    image_window_clamp

    fn image_window_clamp(value : Double, minimum : Double, maximum : Double) -> Double

    image_window_clip

    fn image_window_clip(values : ArrayView[Double], minimum : Double, maximum : Double) -> Array[Double]

    image_window_corner_score

    fn image_window_corner_score(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int) -> Double

    image_window_downsample

    fn image_window_downsample(values : ArrayView[Double], width : Int, height : Int, factor : Int) -> (Array[Double], Int, Int)

    image_window_gradient_field

    fn image_window_gradient_field(values : ArrayView[Double], width : Int, height : Int) -> Array[Double]

    image_window_gradient_magnitude

    fn image_window_gradient_magnitude(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int) -> Double

    image_window_gradient_x

    fn image_window_gradient_x(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int) -> Double

    image_window_gradient_y

    fn image_window_gradient_y(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int) -> Double

    image_window_index

    fn image_window_index(width : Int, x : Int, y : Int) -> Int

    image_window_laplacian

    fn image_window_laplacian(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int) -> Double

    image_window_mean_abs_difference

    fn image_window_mean_abs_difference(left : ArrayView[Double], right : ArrayView[Double]) -> Double

    image_window_mean_squared_difference

    fn image_window_mean_squared_difference(left : ArrayView[Double], right : ArrayView[Double]) -> Double

    image_window_multiply

    fn image_window_multiply(values : ArrayView[Double], scale : Double) -> Array[Double]

    image_window_nonmaximum_points

    fn image_window_nonmaximum_points(values : ArrayView[Double], width : Int, height : Int, threshold : Double, radius : Int) -> Array[
    Point2
    ]

    image_window_normalize

    fn image_window_normalize(values : ArrayView[Double]) -> Array[Double]

    image_window_normalized_cross_correlation

    fn image_window_normalized_cross_correlation(left : ArrayView[Double], right : ArrayView[Double]) -> Double

    image_window_patch

    fn image_window_patch(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int, radius : Int) -> Array[Double]

    image_window_patch_score

    fn image_window_patch_score(values : ArrayView[Double], width : Int, height : Int, x : Int, y : Int, radius : Int) -> Double

    image_window_quality

    fn image_window_quality(values : ArrayView[Double], minimum_variance : Double, maximum_mean_abs : Double) -> Double

    image_window_resize_nearest

    fn image_window_resize_nearest(values : ArrayView[Double], width : Int, height : Int, output_width : Int, output_height : Int) -> Array[Double]

    image_window_standardize

    fn image_window_standardize(values : ArrayView[Double]) -> Array[Double]

    image_window_stats

    fn image_window_stats(values : ArrayView[Double]) -> ImageWindowStats

    image_window_subtract

    fn image_window_subtract(left : ArrayView[Double], right : ArrayView[Double]) -> Array[Double]

    image_window_threshold

    fn image_window_threshold(values : ArrayView[Double], threshold : Double) -> Array[Bool]

    image_window_valid

    fn image_window_valid(width : Int, height : Int, x : Int, y : Int) -> Bool

    interpolate_camera_pose_clamped

    fn interpolate_camera_pose_clamped(a : CameraPose, b : CameraPose, amount : Double) -> CameraPose

    Interpolate camera poses with endpoint clamping.

    interpolate_intrinsics

    fn interpolate_intrinsics(left : CameraIntrinsics, right : CameraIntrinsics, amount : Double) -> CameraIntrinsics

    intrinsics_aspect_ratio

    fn intrinsics_aspect_ratio(intrinsics : CameraIntrinsics) -> Double

    intrinsics_distance

    fn intrinsics_distance(left : CameraIntrinsics, right : CameraIntrinsics) -> Double

    intrinsics_focal_mean

    fn intrinsics_focal_mean(intrinsics : CameraIntrinsics) -> Double

    intrinsics_is_square_pixel

    fn intrinsics_is_square_pixel(intrinsics : CameraIntrinsics, tolerance : Double) -> Bool

    intrinsics_is_valid

    fn intrinsics_is_valid(intrinsics : CameraIntrinsics, size : ImageSize) -> Bool

    Validate an intrinsic calibration against image dimensions.

    intrinsics_principal_point

    fn intrinsics_principal_point(intrinsics : CameraIntrinsics) ->
    Point2

    intrinsics_skew_ratio

    fn intrinsics_skew_ratio(intrinsics : CameraIntrinsics) -> Double

    max_distortion_error

    fn max_distortion_error(points : ArrayView[
    Point2
    ], d : Distortion) -> Double

    motion_blur_displacement

    normalize_depths

    fn normalize_depths(depths : ArrayView[Double], invalid_value~ : Double) -> Array[Double]

    Map valid depths to [0, 1]; invalid values retain the caller marker.

    normalized_focal

    fn normalized_focal(intrinsics : CameraIntrinsics, size : ImageSize) ->
    Vec2

    normalized_principal_point

    fn normalized_principal_point(intrinsics : CameraIntrinsics, size : ImageSize) ->
    Point2

    normalized_reprojection_error

    observation_in_bounds

    fn observation_in_bounds(observation : CalibrationObservation, size : ImageSize) -> Bool

    path_length

    fn path_length(poses : ArrayView[CameraPose]) -> Double

    pixel_in_bounds

    fn pixel_in_bounds(size : ImageSize, pixel :
    Point2
    ) -> Bool

    pose_is_stationary

    fn pose_is_stationary(poses : ArrayView[CameraPose], tolerance : Double) -> Bool

    pose_path_distances

    fn pose_path_distances(poses : ArrayView[CameraPose]) -> Array[Double]

    pose_path_length2

    fn pose_path_length2(poses : ArrayView[CameraPose]) -> Double

    pose_speed_estimates

    fn pose_speed_estimates(poses : ArrayView[CameraPose], timestamps : ArrayView[Double]) -> Array[Double]

    pose_subsequence

    fn pose_subsequence(poses : ArrayView[CameraPose], start : Int, end : Int) -> Array[CameraPose]

    pose_translation_distance

    fn pose_translation_distance(a : CameraPose, b : CameraPose) -> Double

    principal_point_error

    fn principal_point_error(k : CameraIntrinsics, size : ImageSize) -> Double

    project_visibility_indices

    fn project_visibility_indices(points : ArrayView[
    Point3
    ]) -> Array[Int]

    project_visibility_mask

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

    pyramid_levels_covering

    fn pyramid_levels_covering(size : ImageSize, minimum_width : Int) -> Int

    pyramid_pixel_radius

    fn pyramid_pixel_radius(base_radius : Double, level : ImageLevel) -> Double

    pyramid_scale

    fn pyramid_scale(levels : ArrayView[ImageLevel], index : Int) -> Double

    radial_distortion_monotone

    fn radial_distortion_monotone(radius : Double, distortion : Distortion, samples? : Int) -> Bool

    radial_distortion_scale

    fn radial_distortion_scale(radius : Double, distortion : Distortion) -> Double

    ray_bundle_report

    Summarize ray normalization and forward-facing coverage.

    ray_field_depth_centroid

    ray_field_depth_quality

    fn ray_field_depth_quality(rays : ArrayView[
    Ray3
    ], depth : Double, maximum_radius : Double) -> Double

    ray_field_depth_radius

    fn ray_field_depth_radius(rays : ArrayView[
    Ray3
    ], depth : Double) -> Double

    ray_field_depth_schedule

    fn ray_field_depth_schedule(minimum : Double, maximum : Double, steps : Int) -> Array[Double]

    ray_field_direction_dot_sum

    ray_field_direction_quality

    fn ray_field_direction_quality(rays : ArrayView[
    Ray3
    ], minimum_forward_ratio : Double) -> Double

    ray_field_direction_z_maximum

    fn ray_field_direction_z_maximum(rays : ArrayView[
    Ray3
    ]) -> Double

    ray_field_direction_z_mean

    fn ray_field_direction_z_mean(rays : ArrayView[
    Ray3
    ]) -> Double

    ray_field_direction_z_minimum

    fn ray_field_direction_z_minimum(rays : ArrayView[
    Ray3
    ]) -> Double

    Ray-field diagnostics for camera coverage and scan planning.

    ray_field_direction_z_ratio

    fn ray_field_direction_z_ratio(rays : ArrayView[
    Ray3
    ], threshold : Double) -> Double

    ray_field_filter_forward

    ray_field_filter_origin_z

    fn ray_field_filter_origin_z(rays : ArrayView[
    Ray3
    ], minimum_z : Double, maximum_z : Double) -> Array[
    Ray3
    ]

    ray_field_mean_angular_agreement

    ray_field_origin_quality

    fn ray_field_origin_quality(rays : ArrayView[
    Ray3
    ], maximum_spread : Double) -> Double

    ray_field_origin_spread

    fn ray_field_origin_spread(rays : ArrayView[
    Ray3
    ]) -> Double

    ray_field_quality

    fn ray_field_quality(rays : ArrayView[
    Ray3
    ], minimum_forward_ratio : Double, maximum_spread : Double) -> Double

    ray_field_reproject_depth

    ray_field_scan_score

    fn ray_field_scan_score(rays : ArrayView[
    Ray3
    ], depth : Double, minimum_forward_ratio : Double, maximum_radius : Double) -> Double

    ray_field_schedule_quality

    fn ray_field_schedule_quality(rays : ArrayView[
    Ray3
    ], schedule : ArrayView[Double], minimum_forward_ratio : Double, maximum_radius : Double) -> Array[Double]

    ray_plane_intersection

    ray_plane_intersections

    ray_sphere_hits

    ray_sphere_intersection

    fn ray_sphere_intersection(ray :
    Ray3
    , center :
    Point3
    , radius : Double) -> Bool

    reprojection_cost

    fn reprojection_cost(observations : ArrayView[CalibrationObservation], intrinsics : CameraIntrinsics, pose : CameraPose, distortion? : Distortion) -> Double raise
    GeometryError

    reprojection_residual_rms

    fn reprojection_residual_rms(residuals : ArrayView[CalibrationResidual]) -> Double

    reprojection_residual_sum

    fn reprojection_residual_sum(residuals : ArrayView[CalibrationResidual]) -> Double

    resample_timestamps

    fn resample_timestamps(start : Double, end : Double, count : Int) -> Array[Double]

    residual_histogram

    fn residual_histogram(residuals : ArrayView[Double], bins~ : Int, maximum~ : Double) -> Array[Int] raise
    GeometryError

    residual_norms

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

    reverse_pose_sequence

    fn reverse_pose_sequence(poses : ArrayView[CameraPose]) -> Array[CameraPose]

    rig_baseline

    fn rig_baseline(rig : CameraRig, first_id~ : Int, second_id~ : Int) -> Double raise
    GeometryError

    rolling_pose

    fn rolling_pose(pose : CameraPose, velocity :
    Vec3
    , time : Double) -> CameraPose

    sample_camera_pose

    fn sample_camera_pose(poses : ArrayView[CameraPose], amount : Double) -> CameraPose

    sample_camera_poses

    fn sample_camera_poses(poses : ArrayView[CameraPose], count : Int) -> Array[CameraPose]

    sample_pixels

    Convert valid pixels to bearing rays, ignoring points outside the image.

    sample_pose_trajectory

    fn sample_pose_trajectory(poses : ArrayView[CameraPose], timestamps : ArrayView[Double], query : Double) -> CameraPose raise
    GeometryError

    Sample a continuous camera trajectory at normalized timestamps.

    scale_intrinsics

    fn scale_intrinsics(intrinsics : CameraIntrinsics, scale : Double) -> CameraIntrinsics

    shift_intrinsics

    split_calibration_residuals

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

    stereo_baseline_focal_product

    fn stereo_baseline_focal_product(baseline : Double, focal : Double) -> Double

    stereo_consistency

    fn stereo_consistency(left : ArrayView[Double], right : ArrayView[Double], tolerance : Double) -> Double

    stereo_depth_clamp

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

    stereo_depth_error

    fn stereo_depth_error(pair : StereoPair, disparity : Double, disparity_error : Double) -> Double raise
    GeometryError

    stereo_depth_error_bound

    fn stereo_depth_error_bound(disparity : Double, error : Double, baseline : Double, focal : Double) -> Double

    stereo_depth_gradient

    fn stereo_depth_gradient(disparities : ArrayView[Double], baseline : Double, focal : Double) -> Array[Double]

    stereo_depth_percentile

    fn stereo_depth_percentile(depths : ArrayView[Double], probability : Double) -> Double raise
    GeometryError

    stereo_depth_report

    fn stereo_depth_report(disparities : ArrayView[Double], baseline~ : Double, focal~ : Double) -> StereoDepthReport

    stereo_depth_smoothness

    fn stereo_depth_smoothness(disparities : ArrayView[Double], baseline : Double, focal : Double) -> Double

    stereo_depth_valid_mask

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

    stereo_depths

    fn stereo_depths(pair : StereoPair, disparities : ArrayView[Double]) -> Array[Double] raise
    GeometryError

    stereo_depths2

    fn stereo_depths2(disparities : ArrayView[Double], baseline : Double, focal : Double) -> Array[Double]

    stereo_report_is_usable

    fn stereo_report_is_usable(report : StereoDepthReport, minimum_ratio : Double, maximum_span : Double) -> Bool

    stereo_scan_best_disparity

    fn stereo_scan_best_disparity(disparities : ArrayView[Double], scores : ArrayView[Double]) -> Double?

    stereo_scan_best_score

    fn stereo_scan_best_score(scores : ArrayView[Double]) -> Double

    stereo_valid_ratio

    fn stereo_valid_ratio(report : StereoDepthReport) -> Double

    trajectory_duration

    fn trajectory_duration(timestamps : ArrayView[Double]) -> Double

    trajectory_is_monotonic

    fn trajectory_is_monotonic(timestamps : ArrayView[Double]) -> Bool

    undistort_point_iterative

    fn undistort_point_iterative(distorted :
    Point2
    , distortion : Distortion, iterations? : Int) ->
    Point2

    valid_intrinsics

    fn valid_intrinsics(k : CameraIntrinsics) -> Bool

    valid_observations

    fn valid_observations(observations : ArrayView[CalibrationObservation], size : ImageSize) -> Array[CalibrationObservation]

    valid_projection_count

    fn valid_projection_count(points : ArrayView[
    Point3
    ]) -> Int

    vertical_fov

    fn vertical_fov(intrinsics : CameraIntrinsics, height~ : Double) -> Double raise
    GeometryError

    visible_depths

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

    visible_pixels

    fn visible_pixels(size : ImageSize, pixels : ArrayView[
    Point2
    ]) -> Array[Bool]

    Visibility masks for image-space and depth-space filtering.

    visible_point_depths

    fn visible_point_depths(points : ArrayView[
    Point3
    ]) -> Array[Double]

    weighted_calibration_error

    fn weighted_calibration_error(residuals : ArrayView[CalibrationResidual], weights : ArrayView[Double]) -> Double raise
    GeometryError

    weighted_reprojection_cost

    fn weighted_reprojection_cost(observations : ArrayView[CalibrationObservation], intrinsics : CameraIntrinsics, pose : CameraPose) -> Double raise
    GeometryError