Skip to content

Google Season of Docs 2022

Yixing Lao edited this page May 16, 2022 · 46 revisions

Open3D Google Season of Docs (GSoD) 2022

Announcement

Two technical writers are joining us for GSoD 2022:

Notes to Open3D GSoD applicants

  • Please fill out the application form by May 06, 2022.
    • A successful candidate should be proficient in coding in C++ and Python. We expect the participant to write sample code and tutorials.
    • We'll contact selected candidates via email for a coding challenge and an interview. The interview topics will include C++, Python, and technical writing skills.
    • You need to log in with Google to enter the form, but you can enter a non-Gmail address in the form.
    • Earlier applicants get a higher chance of admission, as the applications are processed in the order applied.
  • Upon successful completion, a technical writer will receive a USD 6,000 stipend.
  • Check out the official timeline for your reference.

About Open3D

News: Open3D is officially selected to participate in Google Season of Docs 2022.

Open3D is an open-source library that supports rapid software developments 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 is 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 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.

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 to develop Open3D. Open3D was originally created within Intel Labs, and the development of Open3D is done in collaboration with Intel Labs.

Information summary:

Contact us:

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 documentation is missing or is 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 of asked about "how to do X with Open3D" questions.

Project scope

Topic 1: Add or update Python/C++ API documentation

Open3D is a multi-language library that has support for both C++ and Python. The goal is for the documentation to cover all public APIs and be up-to-date. API documentation includes the documentation on classes and functions.

The tasks for this topic include:

  • Add new documentation for undocumented Python/C++ APIs.
  • Update outdated documentation to make them consistent with current functionalities.
  • Ensure consistency between the Python and C++ documentations.

Topic 2: Add code snippets for important data structures as usage summary

Having API documentation on classes and functions is not sufficient. For important data structures, it is much more intuitive to provide code snippets. For example, with these code snippets for the Dataset classes, users can conveniently understand usages and copy-and-paste to their code.

The tasks for this topic include:

  • Update usage summary for the core classes, e.g. Tensor, HashMap, and NeighborSearch.
  • Add usage summary for tensor-based geometry classes, e.g. t::TriangleMesh, t::PointCloud, and t::RGBDImage.
  • Add usage summary for tensor-based pipelines, e.g., odometry, registration, SLAC, and SLAM.

Topic 3: Add or update high-level examples on "how to do X in Open3D"

We want to provide a section in the documentation explaining how to perform basic functionalities using the Open3D library. Most of this information exists in the current documentation, but it needs to be refactored and adapted to follow a standard format. Open3D users have submitted various requests for such documentation, and they are tagged as question in the GitHub issues.

Example "how to do X in Open3D" questions include:

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

Measuring the project's success

We measure the project's success based on whether we have reached our goal for each topic.

  • Topic 1: add or update Python/C++ API documentation
    • 95%+ documentation coverage of all tensor-based APIs in both Python and C++.
    • 95%+ C++ documentation is consistent with the corresponding Python documentation.
    • 100% of outdated documentation is removed or updated.
  • Topic 2: add code snippets for important data structures as usage summary
    • Usage summary dos added for the core classes: Tensor, HashMap, and NeighborSearch.
    • Usage summary dos added for the tensor-based geometry classes.
    • Usage summary dos added for the tensor-based pipelines.
  • Topic 3: add or update high-level examples on "how to do X in Open3D

Timeline

The timeline is organized based on the abstraction layers in Open3D. Documentation topics 1, 2, and 3 will be implemented within each scope.

Date Item
May Orientation. Knowledge transfer on code organization and contribution process.
Jun-Jul Complete documentation topic 1, 2, and 3 within the open3d::core scope.
Aug-Sep Complete documentation topic 1, 2, and 3 within the open3d::geometry scope.
Oct Complete documentation topic 1, 2, and 3 within the open3d::pipelines scope.
Nov Project completion and final review.

Project budget

All project budget goes to our technical writers.

Item Amount
Stipend for technical writer A 6,000 USD
Stipend for technical writer B 6,000 USD
Thank-you gifts for technical writers 100 USD
Total 12,100 USD

Successful technical writers who complete the project and submit their final report will be qualified for the stipend.

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, 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. Each pull request must pass all CI unit tests and receive at least one approval from the 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.