Hi all,
We're excited to announce OpenPTV2 v0.2.1, now on PyPI and GitHub.
This is the first 0.2.x release and brings substantial performance, packaging, and tracking improvements since v0.1.7.
Performance
- Correspondences ~157× faster (flat NumPy arrays)
- Target recognition ~63× faster (targ_rec_fast)
- GIL-free BFS + parallel 4-camera detection (~2.3×)
Packaging & deployment
- Default pip install openptv2 is now the slim, headless batch runtime (no Qt/GUI dependencies)
- Desktop GUI: pip install "openptv2[gui]" → launch with openptv2-gui
- New Dockerfile.cloud (free-threaded CPython 3.14t) + a batch deployment guide (docs/cloud-batch.md)
- Python 3.11–3.14 supported; prebuilt wheels for Linux, Windows, and macOS (cp311–cp313)
Tracking
- Cold-start recovery + forward/backward reciprocity post-passes
- 3D segment tracking fixes (full_forward_3d)
- Fixed a forward-tracking off-by-one at the sequence end
Parameters
- YAML-first experiment discovery with explicit active-run selection
- Pydantic v2 parameter validation
Install
pip install openptv2==0.2.1 # headless / batch
pip install "openptv2[gui]==0.2.1" # + desktop GUI
(Note: please pin ==0.2.1 for now — an older stray 1.0.0 upload still sits on PyPI and would otherwise be picked first. We'll clean that up.)
Release notes: https://github.com/alexlib/openptv2/releases/tag/v0.2.1 PyPI: https://pypi.org/project/openptv2/
As always, bug reports, questions, and contributions are very welcome.
Happy tracking, The OpenPTV team