Metadata-Version: 2.1
Name: pyxy3d
Version: 0.0.18
Summary: A package for calibrating standard webcams to enable 3d motion tracking
License: AGPL-3.0
Author: Mac Prible
Author-email: prible@gmail.com
Requires-Python: >=3.10,<3.12
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: PyOpenGL (>=3.1.6,<4.0.0)
Requires-Dist: PyQt6 (>=6.4.0,<7.0.0)
Requires-Dist: mediapipe (>=0.9.2,<0.10.0)
Requires-Dist: opencv-contrib-python (>=4.7,<5.0)
Requires-Dist: pandas (>=1.5.0,<2.0.0)
Requires-Dist: pyqtgraph (>=0.13.2,<0.14.0)
Requires-Dist: scipy (>=1.10.1,<2.0.0)
Requires-Dist: seaborn (>=0.12.2,<0.13.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Description-Content-Type: text/markdown



<div align="center"><img src = "pyxy3d/gui/icons/pyxy_logo.svg" width = "150"></div>
<!-- ![pyxy_logo_5x5_cube_fill_final|100](pyxy3d/gui/icons/pyxy_logo.svg) -->

# Introduction

Pyxy3d (*pixie-3D*) is a python package for converting 2D (x,y) point data from multiple webcams into 3D position estimates. The core calibration is built on top of [OpenCV](https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html) with additional optimization via [SciPy](https://scipy-cookbook.readthedocs.io/items/bundle_adjustment.html). 

While OpenCV and SciPy have long provided the software tools that enable this multi-camera calibration, assembling the required images and shepherding their data through the gauntlet of post-processing has remained both tedious and error prone. Pyxy3d automates that workflow through a GUI to provide fast, accurate, and consistent camera system calibrations.

This project was inspired by [Anipose](https://www.sciencedirect.com/science/article/pii/S2211124721011797https://www.sciencedirect.com/science/article/pii/S2211124721011797) and seeks to provide similar functionality with improved visual feedback to the user. The calibration process is presented in more granular steps, with a particular emphasis on accurate estimation of camera intrinsics. Because stereocalibration is used to initialize an estimate of relative camera positions, the bundle adjustment process converges quickly to a reasonable optimum.


---
[Reference](https://github.com/othneildrew/Best-README-Template) for future build out of the README.

