Skip to main content

Crate vision_calibration_core

Crate vision_calibration_core 

Source
Expand description

Core math and geometry primitives for calibration-rs.

This crate provides the foundational building blocks used by all other crates in the workspace:

  • linear algebra type aliases (Real, Vec2, Pt3, and friends),
  • composable camera models (projection + distortion + sensor + intrinsics),
  • a deterministic, model-agnostic RANSAC engine.

Camera pipeline (conceptually): pixel = intrinsics(sensor(distortion(projection(dir))))

The sensor stage supports a Scheimpflug/tilted sensor homography aligned with OpenCV’s computeTiltProjectionMatrix.

§Modules

  • [math]: basic type aliases and homogeneous helpers.
  • [models]: camera model traits and configuration wrappers.
  • [ransac]: generic robust estimation helpers.
  • [synthetic]: deterministic synthetic data helpers (tests/examples/benchmarks).

§Example

use vision_calibration_core::{
    CameraParams, DistortionParams, FxFyCxCySkew, IntrinsicsParams, ProjectionParams,
    SensorParams,
};

let params = CameraParams {
    projection: ProjectionParams::Pinhole,
    distortion: DistortionParams::None,
    sensor: SensorParams::Identity,
    intrinsics: IntrinsicsParams::FxFyCxCySkew {
        params: FxFyCxCySkew {
            fx: 800.0,
            fy: 800.0,
            cx: 640.0,
            cy: 360.0,
            skew: 0.0,
        },
    },
};
let cam = params.build();
let px = cam.project_point_c(&nalgebra::Vector3::new(0.1, 0.2, 1.0));
assert!(px.is_some());

Re-exports§

pub use error::Error;

Modules§

coordinate_utils
Coordinate transformation utilities for camera projection.
error
Typed error enum for this crate. Typed error enum for vision-calibration-core.
synthetic
Deterministic synthetic data generation helpers.
test_utils
Test utilities for cross-crate calibration testing.

Structs§

BrownConrady5
Brown-Conrady 5-parameter radial-tangential distortion model.
Camera
A composable camera model: projection -> distortion -> sensor -> intrinsics.
CameraFixMask
Combined mask for camera calibration parameters.
CameraParams
Serializable camera parameters for building a runtime model.
CorrespondenceView
A single view containing 2D-3D point correspondences.
DistortionFixMask
Mask for fixing distortion parameters during optimization.
FxFyCxCySkew
Standard pinhole intrinsics with optional skew.
HomographySensor
Sensor model represented by a 3x3 homography.
IdentitySensor
Identity sensor model.
IntrinsicsFixMask
Mask for fixing intrinsics parameters during optimization.
NoDistortion
No distortion (identity mapping).
NoMeta
Empty metadata marker for views that do not need extra metadata.
Pinhole
Classic pinhole projection model.
PlanarDataset
A planar dataset consisting of multiple views.
RansacOptions
Configuration parameters for the generic RANSAC engine.
RansacResult
Output of a RANSAC run.
Ray
A camera ray represented by its intersection with the z = 1 plane.
ReprojectionStats
Summary statistics for reprojection errors.
RigDataset
Multi-view dataset for a camera rig.
RigView
One time-synchronized rig frame containing per-camera observations and metadata.
RigViewObs
Multi-camera observations for one rig view/frame.
ScheimpflugParams
Scheimpflug tilt parameters (OpenCV-compatible).
TargetPose
Metadata carrying the per-view pose camera_se3_target.
View
Single-camera observation view with attached metadata.

Enums§

DistortionParams
Serializable distortion model parameters.
IntrinsicsParams
Serializable intrinsics parameters.
ProjectionParams
Serializable projection model parameters.
SensorParams
Serializable sensor model parameters.

Traits§

DistortionModel
Distortion model mapping between ideal and distorted normalized coordinates.
Estimator
Generic estimator for RANSAC-like methods.
IntrinsicsModel
Intrinsics that map sensor-plane coordinates to pixel coordinates.
ProjectionModel
Projection model from a camera direction to normalized coordinates.
SensorModel
Sensor model mapping between normalized and sensor-plane coordinates.

Functions§

compute_mean_reproj_error
Compute mean per-point reprojection error for a calibrated camera and posed views.
compute_rig_reprojection_stats
Compute reprojection error statistics for a multi-camera rig dataset.
compute_rig_reprojection_stats_per_camera
Compute per-camera reprojection error statistics for a multi-camera rig dataset.
distort_to_pixel
Apply distortion and convert to pixel coordinates.
from_homogeneous
Convert a 3D homogeneous vector back to a 2D point.
make_pinhole_camera
Build a PinholeCamera from intrinsics and Brown-Conrady distortion.
normalized_to_pixel
Convert normalized coordinates to pixel coordinates using intrinsics.
pinhole_camera_params
Convert a concrete PinholeCamera into serializable CameraParams.
pixel_to_normalized
Convert pixel coordinates to normalized coordinates using intrinsics.
ransac_fit
Run a generic RANSAC loop for a given Estimator implementation.
to_homogeneous
Convert a 2D point in Euclidean coordinates into homogeneous coordinates.
undistort_pixel
Undistort pixel coordinates to normalized coordinates.

Type Aliases§

CameraModel
Concrete camera type built from parameters (f64).
Iso3
3D rigid transform (SE(3)) using Real.
Mat3
3×3 matrix with Real entries.
Mat4
4×4 matrix with Real entries.
PinholeCamera
Concrete pinhole camera alias used across single-camera workflows.
Pt2
2D point with Real coordinates.
Pt3
3D point with Real coordinates.
Real
Scalar type used throughout the library (currently f64).
Vec2
2D vector with Real components.
Vec3
3D vector with Real components.