Skip to main content

Python GUI for the OpenPTV library `liboptv`

Project description

PyPTV

Python GUI for the OpenPTV library liboptv

Python package DOI PyPI - Version

PyPTV or otherwise called OpenPTV-Python is the Python GUI for OpenPTV. It is based on traits, traitsui, chaco, enable and pyface from Enthought Inc. and provides an UI interface the OpenPTV library that includes all the core algorithms (correspondence, tracking, calibration, etc.) written in ANSI C and has Python bindings using Cython.

Both PyPTV and the OpenPTV library are in the development phase and continuously refactored. Please follow the development on the community mailing list:

openptv@googlegroups.com

Documentation:

👉 View full documentation at https://alexlib.github.io/pyptv

http://openptv-python.readthedocs.io

Installation instructions

Short version:

pip install numpy
python -m pip install pyptv --index-url https://pypi.fury.io/pyptv --extra-index-url https://pypi.org/simple

Detailed instructions for various platforms are in our documentation: https://openptv-python.readthedocs.io/en/latest/installation_instruction.html

Follow the instructions in our screencasts and tutorials:

Ask for help on our mailing list:

openptv@googlegroups.com

Working with plugins

Plugins is a system of extensions to PyPTV without the need to change the GUI

  1. copy the sequence_plugins.txt and tracking_plugins.txt to the working folder
  2. copy the plugins/ directory to the working folder
  3. modify the code so it performs instead of the default sequence or default tracker
  4. Open the GUI and Plugins -> Choose , then run the rest: Init -> Sequence

Note, the specific branch plugin_remback requires installation of the pip install rembg[cpu] or pip install rembg[gpu]

Developers:

Version Management:

  • Bump version: python bump_version.py --patch

Publishing to PyPI:

  • See DEPLOYMENT.md for comprehensive deployment instructions using GitHub Actions and trusted publishing

Legacy Manual Publishing:

pip install build
python -m build
pip install dist/pyptv-*.whl  # Install the built wheel
pip install twine
python -m twine upload dist/*

Compatibility Notes

NumPy Compatibility

  • Supported NumPy versions: >=2.0.0,<2.7
  • NumPy 2.x required for optv 0.3.2+
  • Tested with NumPy arrays in both float64 and uint8 formats
  • Array operations maintained for image processing and coordinate transformations
  • NumPy 2.x support requires chaco>=6.1.0 and enable>=6.1.0

OpenPTV (optv) Compatibility

  • Compatible with optv 0.3.2+
  • optv 0.3.2+ requires NumPy >=2.0.0
  • Core functionality tested with latest optv release
  • Calibration and tracking functions verified

Development Setup

For development work with latest NumPy:

conda create -n pyptv python=3.11
conda activate pyptv
conda install numpy>=1.23.5 optv>=0.3.0
pip install -e .

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

pyptv-0.4.2.tar.gz (74.2 MB view details)

Uploaded Source

Built Distribution

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

pyptv-0.4.2-py3-none-any.whl (121.1 kB view details)

Uploaded Python 3

File details

Details for the file pyptv-0.4.2.tar.gz.

File metadata

  • Download URL: pyptv-0.4.2.tar.gz
  • Upload date:
  • Size: 74.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyptv-0.4.2.tar.gz
Algorithm Hash digest
SHA256 ed66951ab7fa4501a7fb823842ea49c134925c406edc12c806709a979591b3f7
MD5 ee301dd5be89faf3427c049dd04cbdfc
BLAKE2b-256 a7a6cff21e118ab8177c7ecc8d27ea9e30055861b77740e8473afd0a61550e9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyptv-0.4.2.tar.gz:

Publisher: publish-to-pypi.yml on alexlib/pyptv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyptv-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: pyptv-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 121.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyptv-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f346ae8ccb3c12ee9f4960212ffdc364a702aa71e765c615601bf476997451d
MD5 ee6e336dd13127ddc2c13123e002414d
BLAKE2b-256 792dd54db1c9b56107eafb34b0234ab47254e2979892a0a43faba751424a8281

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyptv-0.4.2-py3-none-any.whl:

Publisher: publish-to-pypi.yml on alexlib/pyptv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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