-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add python test in workflow and git clone in dockerfile (#1) * Revise docs (#2) * feat: add code coverage * Add build_cpp in CI (#3) * Revise email and url * add python test in workflow and git clone in dockerfile (#1) * Revise build_cpp * feat(test):add catch2 support * Use manylinux ci image for deployment * Add major features * python/test -> python/tests * Update conan remote url * Bump version to v0.6.0 Co-authored-by: LazyBusyYang <gaoyang_cn@outlook.com> Co-authored-by: GaoYang <gaoyang3@sensetime.com> Co-authored-by: GACLove <peng.gaoc@gmail.com>
- Loading branch information
1 parent
73dd259
commit 609261d
Showing
47 changed files
with
18,524 additions
and
278 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,118 @@ | ||
# XRPrimer | ||
|
||
<div align="left"> | ||
|
||
[![actions](https://github.com/openxrlab/xrprimer/workflows/build/badge.svg)](https://github.com/openxrlab/xrprimer/actions) | ||
[![codecov](https://codecov.io/gh/openxrlab/xrprimer/branch/main/graph/badge.svg)](https://codecov.io/gh/openxrlab/xrprimer) | ||
[![PyPI](https://img.shields.io/pypi/v/xrprimer)](https://pypi.org/project/xrprimer/) | ||
[![LICENSE](https://img.shields.io/github/license/openxrlab/xrprimer.svg)](https://github.com/openxrlab/xrprimer/blob/main/LICENSE) | ||
|
||
</div> | ||
|
||
## Introduction | ||
|
||
English | [简体中文](README_CN.md) | ||
|
||
XRPrimer is a fundational library for XR-related algorithms. | ||
The XRPrimer provides reusable data structures, efficient operaters and extensible interfaces both in C++ and Python. | ||
|
||
### Major Features | ||
|
||
## Getting Started | ||
- [x] Various camera models and conversion tools (Pinhole, Fisheye, Omni etc.) | ||
- [x] Basic 3D operations (Triangulation, Projection etc.) | ||
- [x] Multi-camera extrinsic calibration tools | ||
- [ ] Rendering and visualization tools | ||
|
||
### C++ | ||
### Operation Systems | ||
|
||
Please see [C++ README](cpp/README.md) for the C++ usage | ||
It currently supports the following systems. | ||
|
||
- Linux | ||
- iOS | ||
|
||
## Installation | ||
|
||
### Python | ||
|
||
Please see [Python README](python/README.md) for the Python usage | ||
If using xrprimer in a Python project, it can be installed by: | ||
|
||
```bash | ||
pip install xrprimer | ||
``` | ||
|
||
If you want to use the latest updates of xrprimer, please refer to [Python Installation](docs/en/installation/python.md) for detailed installation. | ||
|
||
### C++ | ||
|
||
If using xrprimer in a C++ project, please refer to [C++ Installation](docs/en/installation/cpp.md) for compilation and test. | ||
|
||
|
||
## Getting started | ||
|
||
### Use XRPrimer in Python projects | ||
|
||
The below code is supposed to run successfully upon you finish the installation. | ||
|
||
```bash | ||
python -c "import xrprimer; print(xrprimer.__version__)" | ||
``` | ||
|
||
### Use XRPrimer in C++ projects | ||
|
||
An example is given below to show how to link xrprimer in C++ projects. More details can be found [here](docs/en/installation/cpp.md#how-to-link-in-c-projects). | ||
|
||
```js | ||
cmake_minimum_required(VERSION 3.16) | ||
|
||
project(sample) | ||
|
||
# set path for find XRPrimer package (config mode) | ||
set(XRPrimer_DIR "<package_path>/lib/cmake") | ||
find_package(XRPrimer REQUIRED) | ||
|
||
add_executable(sample sample.cpp) | ||
|
||
target_link_libraries(sample XRPrimer::xrprimer) | ||
``` | ||
|
||
## FAQ | ||
|
||
If you face some installation issues, you may first refer to this [Frequently Asked Questions](docs/en/faq.md). | ||
|
||
|
||
## License | ||
|
||
This project is released under the [Apache 2.0 license](LICENSE). | ||
|
||
## Citation | ||
|
||
If you find this project useful in your research, please consider cite: | ||
|
||
```bibtex | ||
@misc{xrprimer, | ||
title={OpenXRLab Foundational Library for XR-related Algorithms}, | ||
author={XRPrimer Contributors}, | ||
howpublished = {\url{https://github.com/openxrlab/xrprimer}}, | ||
year={2022} | ||
} | ||
``` | ||
|
||
## Contributing | ||
|
||
We appreciate all contributions to improve XRPrimer. Please refer to [CONTRIBUTING.md](.github/CONTRIBUTING.md) for the contributing guideline. | ||
|
||
## Acknowledgement | ||
|
||
XRPrimer is an open source project that is contributed by researchers and engineers from both the academia and the industry. | ||
We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks. | ||
We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new models. | ||
|
||
## Projects in OpenXRLab | ||
|
||
- [XRPrimer](https://github.com/openxrlab/xrprimer): OpenXRLab foundational library for XR-related algorithms. | ||
- [XRSLAM](https://github.com/openxrlab/xrslam): OpenXRLab Visual-inertial SLAM Toolbox and Benchmark. | ||
- [XRSfM](https://github.com/openxrlab/xrsfm): OpenXRLab Structure-from-Motion Toolbox and Benchmark. | ||
- [XRLocalization](https://github.com/openxrlab/xrlocalization): OpenXRLab Visual Localization Toolbox and Server. | ||
- [XRMoCap](https://github.com/openxrlab/xrmocap): OpenXRLab Multi-view Motion Capture Toolbox and Benchmark. | ||
- [XRMoGen](https://github.com/openxrlab/xrmogen): OpenXRLab Human Motion Generation Toolbox and Benchmark. | ||
- [XRNeRF](https://github.com/openxrlab/xrnerf): OpenXRLab Neural Radiance Field (NeRF) Toolbox and Benchmark. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
if(CODE_COVERAGE) | ||
if(CMAKE_BUILD_TYPE) | ||
string(TOUPPER ${CMAKE_BUILD_TYPE} upper_build_type) | ||
if(NOT ${upper_build_type} STREQUAL "DEBUG") | ||
message( | ||
STATUS | ||
"**WARNING** Code coverage need CMAKE_BUILD_TYPE=Debug, FORCE use Debug" | ||
) | ||
endif() | ||
endif() | ||
|
||
set(CMAKE_BUILD_TYPE Debug) | ||
set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) | ||
set(CMAKE_C_OUTPUT_EXTENSION_REPLACE 1) | ||
|
||
if((CMAKE_C_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") | ||
AND | ||
(CMAKE_C_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")) | ||
set(_GCOV_FLAGS "-fprofile-instr-generate -fcoverage-mapping") | ||
endif() | ||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) | ||
set(_GCOV_FLAGS "-fprofile-arcs -ftest-coverage") | ||
endif() | ||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${_GCOV_FLAGS}") | ||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${_GCOV_FLAGS}") | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.