Skip to content

zengjianping/xrprimer

 
 

Repository files navigation



Documentation actions codecov PyPI Percentage of issues still open

Introduction

English | 简体中文

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

  • Various camera models and conversion tools (Pinhole, Fisheye, Omni etc.)
  • Basic 3D operations (Triangulation, Projection etc.)
  • Multi-camera extrinsic calibration tools
  • Rendering and visualization tools

Operation Systems

It currently supports the following systems.

  • Linux
  • iOS

Installation

Python

If using xrprimer in a Python project, it can be installed by:

pip install xrprimer

If you want to use the latest updates of xrprimer, please refer to Python Installation for detailed installation.

C++

If using xrprimer in a C++ project, please refer to C++ Installation for compilation and test.

Getting started

Use XRPrimer in Python projects

The below code is supposed to run successfully upon you finish the installation.

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.

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.

License

The license of our codebase is Apache-2.0. Note that this license only applies to code in our library, the dependencies of which are separate and individually licensed. We would like to pay tribute to open-source implementations to which we rely on. Please be aware that using the content of dependencies may affect the license of our codebase. Refer to LICENSE to view the full license.

Citation

If you find this project useful in your research, please consider cite:

@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 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: OpenXRLab foundational library for XR-related algorithms.
  • XRSLAM: OpenXRLab Visual-inertial SLAM Toolbox and Benchmark.
  • XRSfM: OpenXRLab Structure-from-Motion Toolbox and Benchmark.
  • XRLocalization: OpenXRLab Visual Localization Toolbox and Server.
  • XRMoCap: OpenXRLab Multi-view Motion Capture Toolbox and Benchmark.
  • XRMoGen: OpenXRLab Human Motion Generation Toolbox and Benchmark.
  • XRNeRF: OpenXRLab Neural Radiance Field (NeRF) Toolbox and Benchmark.

About

OpenXRLab foundational library for XR-related algorithms

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 56.8%
  • Python 36.5%
  • CMake 6.1%
  • Other 0.6%