Skip to main content

GUI based multicamera calibration that integrates with 2D landmark tracking to triangulate 3D landmark positions

Project description

Caliscope

Multicamera Calibration for Research Workflows

PyPI - Downloads PyPI - License PyPI - Version GitHub last commit GitHub stars pytest

Caliscope is a permissively licensed multicamera calibration tool for markerless motion capture workflows. It allows visual assessment and detailed quality metrics at each stage of the calibration workflow to allow high quality output. The approach to initializing parameters for bundle adjustment allows rapid and reliable calibration.

Demo

https://github.com/user-attachments/assets/037c6237-0955-41e2-979e-a4247f7677e6

Quick Start

Installation instructions are in the docs.

For a walkthrough with test data after installing, see the sample project.


Features

Calibration

  • ChArUco, ArUco, and chessboard calibration targets
  • Automated intrinsic calibration from video with distortion model visualization
  • Pairwise extrinsic initialization for reliable bundle adjustment across 3+ cameras
  • Mirror board support for camera arrangements where no single board position is visible to all cameras
  • 3D visualizer for inspecting camera positions and setting the world origin
  • Reprojection error display and outlier filtering after optimization
  • Exports camera_array.toml (native) and camera_array_aniposelib.toml for use with aniposelib-compatible tools

Tracking and Reconstruction

  • Built-in MediaPipe trackers (Hands, Pose, Holistic)
  • ONNX model support for custom pose estimators exported from SLEAP, DeepLabCut, RTMPose, and other frameworks
  • Output in CSV and TRC (OpenSim) formats

Community & Support

To report a bug or request a feature, please open an issue. For questions, post in Discussions. This is an open-source project supported by volunteer effort.

Acknowledgments

This project was inspired by FreeMoCap (FMC), which is spearheaded by Jon Matthis, PhD of the HuMoN Research Lab. The FMC calibration and triangulation system is built upon Anipose, created by Lili Karushchek, PhD. Caliscope was originally envisioned as an alternative calibration tool to Anipose that would allow more granular estimation and visual feedback. Several lines of the original Anipose triangulation code are used in this code base, though it was otherwise written from the ground up.

License

Caliscope is licensed under the permissive BSD 2-Clause license. The triangulation function was adapted from the Anipose code base which is also licensed under the BSD-2 Clause.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

caliscope-0.7.0.tar.gz (65.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

caliscope-0.7.0-py3-none-any.whl (364.7 kB view details)

Uploaded Python 3

File details

Details for the file caliscope-0.7.0.tar.gz.

File metadata

  • Download URL: caliscope-0.7.0.tar.gz
  • Upload date:
  • Size: 65.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for caliscope-0.7.0.tar.gz
Algorithm Hash digest
SHA256 0afc34555bbaa3195a7dc3c1aae848e507f621bb8fd721d55ce901c58c7f1253
MD5 36a7c4d089c12d3e1754c6b34e6f3e8d
BLAKE2b-256 9c74775c5fa07e9219abcc1d7bb25e0802ff3e5a3a468f409433ada3348c8ec0

See more details on using hashes here.

File details

Details for the file caliscope-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: caliscope-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 364.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for caliscope-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0678c3648d41c07fc869bf30e4d378ffb6634eaacffd9dc6148fd6d147a81aa
MD5 6ef3daa79194b59dfa7aacbf29d5e034
BLAKE2b-256 629035394da6b32610f33f1a1e1f59738d3b500af971261310fa6adccc4fb51d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page