Skip to content

Google Season of Docs 2022

Yixing Lao edited this page Mar 25, 2022 · 46 revisions

[TEMP]

Update Open3D C++/Python API docs and examples - Open3D

Proposal for Google Season of Docs 2022.

About Open3D.org

Open3D.org lives under the non-profit Embodied AI Foundation. The Embodied AI Foundation provides support with the administration and coordination of the resources needed for the development of Open3D. Open3D was originally created within Intel Labs, and the development of Open3D is done in collaboration with Intel Labs.

About Open3D

Open3D is an open-source library that supports rapid software developments that deal with 3D data. Core features of Open3D include: 3D data structures, 3D data processing algorithms, scene reconstruction, surface alignment, 3D visualization, physically based rendering (PBR), 3D machine learning support with PyTorch and TensorFlow, GPU acceleration for core 3D operations, and more.

The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. Open3D was developed from a clean slate with a small and carefully considered set of dependencies. It can be set up on different platforms and compiled from source with minimal effort. The code is clean, consistently styled, and maintained via a clear code review mechanism.

With a total of 2.5M+ Python downloads in 2021, Open3D is vastly popular among engineers and researchers worldwide working on 3D computer vision, computer graphics, 3D visualization, and more. We welcome contributions from the open-source community. By contributing to Open3D's Google Season of Docs 2022 projects, you will make an impact on one of the most vibrant 3D computer vision communities.

Check out our recent release videos:

Open3D 0.14 release

Open3D 0.14 release video

Open3D 0.15 release

Open3D 0.15 release video

Open3D's Google Season of Docs 2022 project

Problem

Open3D's functionalities are growing rapidly, recently we have added the tensor-based geometry classes and algorithms, CUDA acceleration, new visualizer capabilities and more. However, some of the documentations are missing (especially C++) or are not up-to-date. Based on the GitHub issues that we received, users find it confusing to switch between the new and old APIs, and users want more "how to do X" examples to be added to demonstrate the usage of the Open3D library.

Scope

The Open3D's Google Season of Docs 2022 project has the following scope.

Topic 1: Update Python/C++ API documentation

Open3D is a multi-language library that has support for both C++ and Python. The documentation are hosted on Open3D documentation website. We want to:

  • Add new documentations for undocumented Python/C++ APIs.
  • Update outdated documentations to make them consistent with current functionalities.
  • Ensure consistency between the Python and C++ documentations.
  • Add code snippets in API documentations for clearer illustrations.

Topic 2: Update/add examples on "how to do X in Open3D"

We would like to provide a section in the documentation explaining how to perform basic functionalities using the Open3D library. Most of this information already exists within the current documentation, but it needs to be refactored and adapted to follow a common format. Examples of these functionalities would be:

  • How to load and visualize a point cloud with customized camera pose using Open3D?
  • How to render a triangle mesh to image without a windowing system?
  • How to add a custom ML operation in Open3D-ML?
  • ...

Measuring project's success

  • Topic 1:
    • Coverage of documentation of all tensor-based APIs reaches 100% for both Python and Open3D.
    • Coverage of high-level usage examples for major data structures (e.g. geometries, visualization, Open3D-ML) reaches 100%.
  • Topic 2:
    • Reduction of "how to do X" GitHub issues, labeled as question.

Timeline

5 6 7 8 9 10 11

6 months = 6 * 4 = 24 weeks

3 meetings per week.

  • Align with weeks

  • May: Orientation. Knowledge transfer on build system, code organization, contribution process and more.

  • Tensor

  • Geometry

  • Pipelines

  • Visualization

  • June-August: Audit existing documentation and create friction log

  • September-October: Create documentation

  • November: Project completion

Budget

  • Total amounts 12,000 for (2) technical writers
  • 100 thank you gifts for the writers

Additional information

Open3D has successfully completed Google Season of Docs 2019

Open3D participated in Google Season of Docs 2019 with a successful completion.

  • Project proposal: Link.
  • Final report: Link.
    • In this report, you will find detailed information on specific components (e.g. color map, camera, bounding box, geometry base, and etc.) the technical writer has contributed to.
  • Organization & collaboration: The technical writer joined our weekly whole-team meeting, as well as regular documentation meeting with the mentors. We have two mentors from the Open3D organization for this project.
  • Review process: The documentation contribution made by the technical followed our usual code review process, where each pull request must pass all CI unit tests and receive at least one approval from teh admin team.

Open3D has been selected for Google Summer of Code 2022

We are excited to be selected as a participating organization for the Google Summer of Code 2022. We will be working with participating developers from all over the world to develop various components of Open3D. See the following links for more information.

  • Official announcement: Link.
  • Open3D GSoC 2022 proposals: Link.