Skip to main content

vision-calibration-py

Python bindings for calibration-rs.

This crate exposes the high-level calibration workflows from vision-calibration as typed Python runners:

Runner Workflow
run_planar_intrinsics Planar intrinsics
run_scheimpflug_intrinsics Planar intrinsics with Scheimpflug tilt
run_single_cam_handeye Single-camera hand-eye
run_laserline_device Camera + laser plane
run_rig_extrinsics Multi-camera rig extrinsics
run_rig_handeye Rig + hand-eye
run_rig_laserline_device Rig laser plane (frozen rig hand-eye input)
run_rig_handeye_laserline Joint rig + hand-eye + laser plane

Install

pip install vision-calibration

To build from source instead:

maturin develop -m crates/vision-calibration-py/Cargo.toml

Python package

The Python package name is vision_calibration.

import vision_calibration as vc

print(vc.__version__)

# Build Python-native dataset/config objects with docstrings:
obs = vc.Observation(
    points_3d=[(0.0, 0.0, 0.0), (0.1, 0.0, 0.0), (0.1, 0.1, 0.0), (0.0, 0.1, 0.0)],
    points_2d=[(100.0, 100.0), (200.0, 100.0), (200.0, 200.0), (100.0, 200.0)],
)
dataset = vc.PlanarDataset(views=[vc.PlanarView(observation=obs)] * 3)
config = vc.PlanarCalibrationConfig(
    max_iters=80,
    robust_loss=vc.robust_huber(1.0),
)

result = vc.run_planar_intrinsics(dataset, config)
print(result.mean_reproj_error)

Scheimpflug workflow:

import vision_calibration as vc

obs = vc.Observation(
    points_3d=[(0.0, 0.0, 0.0), (0.1, 0.0, 0.0), (0.1, 0.1, 0.0), (0.0, 0.1, 0.0)],
    points_2d=[(100.0, 100.0), (200.0, 100.0), (200.0, 200.0), (100.0, 200.0)],
)
dataset = vc.PlanarDataset(views=[vc.PlanarView(observation=obs)] * 3)
config = vc.ScheimpflugIntrinsicsCalibrationConfig(
    fix_scheimpflug={"tilt_x": False, "tilt_y": False}
)
result = vc.run_scheimpflug_intrinsics(dataset, config)
print(result.camera.sensor)

Runnable Python examples

Workflow examples live in crates/vision-calibration-py/examples/ and mirror the Rust examples in crates/vision-calibration/examples/. The real-image examples need the detector extras (pip install "vision-calibration[examples]") and the datasets under data/ in the repository.

for f in crates/vision-calibration-py/examples/*.py; do python "$f"; done

vision_calibration.types is an advanced-interop surface for raw serde payloads; prefer the typed dataclasses/models for new code.

Metadata

Release files for vision-calibration 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vision-calibration 0.9.0
File Size Uploaded
vision_calibration-0.9.0.tar.gz 729.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for vision-calibration 0.9.0
File Interpreter ABI Platform
vision_calibration-0.9.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
vision_calibration-0.9.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
vision_calibration-0.9.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 7.1 MB

Release files / vision_calibration-0.9.0.tar.gz

Download URL vision_calibration-0.9.0.tar.gz
Size 729.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8716951c70dc19455c199985873f96ec17dd77c5562e6de4c246126ef3049615
BLAKE2b-256 checksum
How to use checksums
1ce242e609c07f03ee662bccd52d518931d38dcff4ab70425c815553ebb8cf88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / vision_calibration-0.9.0-cp310-abi3-win_amd64.whl

Download URL vision_calibration-0.9.0-cp310-abi3-win_amd64.whl
Size 2.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
332d46a41708c8ced91b93e16f2df7a6157865d7f091f1ecde494ed787bb42a8
BLAKE2b-256 checksum
How to use checksums
609bfe581116510383505502a5ea853816ad958c3f6f588685590871f3a7030f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / vision_calibration-0.9.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL vision_calibration-0.9.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
b6e83ca377dea3147b6f4a6c4b89f821c5607a79bf0fa39358b66fc0e20107bb
BLAKE2b-256 checksum
How to use checksums
ac2d2bc4264db18f3dceb15cf4e6fd5445344856e73f37e3cd49b900541ea224
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / vision_calibration-0.9.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL vision_calibration-0.9.0-cp310-abi3-macosx_11_0_arm64.whl
Size 1.7 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
135785599fe54fa00f41a8b7c086db84cf0df34f4d7e0e9c38a0a9479814fb9c
BLAKE2b-256 checksum
How to use checksums
cb10be98e91b5c557909ebf133c30582fc2cbf3454f547b6ab1d258917c98223
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.0 This release

4 release files

0.8.3

4 release files

0.8.2

4 release files

0.8.1

4 release files

0.8.0

4 release files

0.7.0

4 release files

0.6.0

4 release files

0.5.1

4 release files

0.3.0

4 release files

0.2.0

4 release files

0.1.4

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page