LiDAR Camera Calibrator
A PySide6 desktop application for manual refinement of static LiDAR-to-camera calibration over synchronized sequences.
It is built for teams that need to inspect and tighten a calibration after a vehicle rig is assembled: for high-quality labeling, sensor validation, map/vehicle experiments, or testing a new calibration hypothesis. Most rigs do not change frequently, so a careful manual refinement pass can be a practical way to get the alignment needed for a specific dataset or workflow.
Use your own data
Normalize raw/proprietary files, Python/NumPy arrays, custom lazy loaders, or standard Foxglove MCAP into the generic sensor contract. KITTI is included as an optional, tested example pipeline.
The generic integration requires timestamped LiDAR point clouds, one or more camera streams with intrinsics, a connected sensor transform tree, and world-from-IMU poses. The package validates and synchronizes the result before atomically writing portable lidar-camera-scene/1 MCAP.
Features
- manual extrinsic and optional intrinsic refinement for arbitrary named cameras;
- synchronized LiDAR, camera, and interpolated ego-pose timeline;
- navigable CPU-rendered 3D point-cloud view and camera overlays;
- undo/redo, numerical editing, resets, comparison view, and JSON export/reload;
- direction-explicit transforms using
P_target = T_target_from_source @ P_source; - strict, versioned MCAP profile with package-embeddable Python APIs.
Install
uv add lidar-camera-calibrator
Workflow
from lidar_camera_calibrator import CalibrationConfig, launch_calibrator, write_profile_mcap
source_config = build_source_config_from_your_data()
write_profile_mcap(source_config, "scene.mcap")
result = launch_calibrator("scene.mcap", CalibrationConfig())
The viewer accepts canonical scene MCAP:
python -m lidar_camera_calibrator scene.mcap
Documentation and source
- Documentation: https://gre3nlion.github.io/lidar-camera-calibrator/
- Source and screenshots: https://github.com/Gre3nLioN/lidar-camera-calibrator
- License: Apache-2.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lidar_camera_calibrator-0.1.1.tar.gz.
File metadata
- Download URL: lidar_camera_calibrator-0.1.1.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Omarchy","version":"4.0.1","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5143ca3c20354643cd5fc6510c687f69548bb1122f11fda9a2fe50ba2d833647
|
|
| MD5 |
938469d0f7482ef05dd221c2d8e37fa4
|
|
| BLAKE2b-256 |
58510aa3c623343e9ba4a049cce0b579e095772066f2e1fdb953502f02510278
|
File details
Details for the file lidar_camera_calibrator-0.1.1-py3-none-any.whl.
File metadata
- Download URL: lidar_camera_calibrator-0.1.1-py3-none-any.whl
- Upload date:
- Size: 124.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Omarchy","version":"4.0.1","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ade008dab34632e361e6027b63269330465b889d4cc735870bacbc065e04f79
|
|
| MD5 |
00ac2732e7df9f0eb0b7509a8b1be0d6
|
|
| BLAKE2b-256 |
5f5d77449da69b3d821210e123aeb0e19e2c0b9c36941928d45712d5489d0ed1
|