Highlights:
- Add `synbody_utils.py` and `exr_reader.py` module to help with using SynBody dataset.
- Support points and lines visualization by OpenCV and by Matplotlib.
- Improve external dependencies by splitting external and project build.
- Update dockerfiles, build scripts and docker images.
New Features:
- Add `synbody_utils.py` and `exr_reader.py` module to help with using SynBody dataset.
- Add points and lines visualization by OpenCV and by Matplotlib, with features such as PointPalette and LinePalette for visualization backends sharing the same definition of data.
- Add fast undistortion in Python.
- Add Keypoints, Limbs and keypoints_convention from XRMoCap.
- Add world convention for 3D spaces.
- Add `VideoReader` to ffmpeg_utils in Python. Together with `VideoWriter`, now we can visualize a really long video on a machine with poor RAM.
Improvements:
- Improve external dependencies by splitting external and project build, building for source or downloading dependencies when first run. External dependencies from different sources are used in the same way.
- Upgrade OpenCV(C++dependency) to 4.6.0.
- Improve python version constraint in `setup.py` and requirements, making torch unnecessary and allowing classes like cameras in `data_stuctures` to be imported in a torch absent environment.
- Update dockerfiles, build scripts and docker images.
Documentations:
- Revise docs.
- Add Readthedocs for Python and C++.
- Use Readthedocs and Doxygen to manage C++ documentation.
CICD:
- Update workflow OS from ubt18 to ubt22/ubt20, since ubt18 is no longer supported by GitHub.
- Add `build_cpp` stage in GitHub workflow to build C++ code.
- Update trigger conditions for publish workflow, with either branch name or tag working.
- Improve publish process inside a new `manylinux2014` docker container, building wheel file with rebuilt conan packages, repairing wheel file with auditwheel, and uploading with twine.
Bug Fixes:
- Fix incorrect image data copy.
- Fix wrong calibration input variable reported by issue-33.
- Fix wrong building directory settings in `setup.py`, now it copies `xrprimer_cpp*.so` from `self.cmake_output_lib` to `self.build_lib`.
- Update test data at `aliyun-oss` and fixed wrong subfolder name causing error.
- Replace twine username from `__token__` to `secrets.PYPI_USERNAME` in github actions, which works well in forked repo.
New Contributors:
ruitard Maoxie