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 with built-in RTMPose model cards and in-app weight download; also compatible with custom models from SLEAP, DeepLabCut, 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.2.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.2-py3-none-any.whl (377.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: caliscope-0.7.2.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.2.tar.gz
Algorithm Hash digest
SHA256 49a6fbc88fdf263766d4ec3b344d79efc7cd7a8120ba6610d7de811672252668
MD5 ea1d78cc57e201e1cfb0452b34d3e661
BLAKE2b-256 5242bc2445278df7321217712522741a737052efba7e0a2f61ca5b7c663200ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: caliscope-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 377.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b778d9c0b8aaea7f0984a42da2327fbad0a6428616858f8889fa1cde82f59c3e
MD5 7bca4247ab70a49544c5453f0af2caa5
BLAKE2b-256 5e4867b3f410a4240637a83d3908b2ff7c6eb059f65a47ab2767dc4e55db337e

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