Open3D v0.19 is out with new features and more GPU support!

Happy new year to all! The Open3D team and many amazing community members bring to you the latest and best Open3D with many new features and bug fixes. Here are the highlights of this release:

  • Support for Python 3.12 and Numpy 2.

  • Experimental cross-platform GPU support through sycl. Use your integrated GPU to accelerate Open3D! Try out the preview Python 3.10 sycl wheel on Ubuntu 22.04+. For more details, see the documentation.

  • The preview wheel also features GPU accelerated raycasting with Embree (Intel GPUs) for fast geometry computation. docs. Contributed by @lumurillo

  • 3D geometry metrics: Chamfer distance, Hausdorff distance and F-score. TriangleMesh docs and PointCloud docs.
    image

  • New FlyingEdges algorithm for extracting an isosurface (triangle mesh) from a dense 3D volume. Contributed by @intelshashi in #6648. docs.

  • Add albedo texture to a mesh from calibrated images. docs and example.

    Screenshot 2024-12-31 at 10 33 12 PM

  • macOS ARM64+x86_64 universal Python wheel and C++ binary. Contributed by @sitic in #6695 .

  • Sampling from mesh now includes color. Contributed by @nikste in #6842.

  • CUDA 12 support, and support for building with CUDA dynamic libraries. Contributed by @davconde in #6815 .

  • Support for PyTorch 2.2 and TensorFlow 2.16

⚠️ Warning: ⚠️ Due to incompatibilities in the cxx11_abi on Linux between PyTorch and TensorFlow, official Python wheels on Linux only support PyTorch, not TensorFlow. [See https://github.com/isl-org/Open3D/pull/6288] for details. If you'd like to use Open3D with TensorFlow on Linux, you can build Open3D wheel from source in docker with support for Tensorflow (but not PyTorch) as:

cd docker
# Build open3d and open3d-cpu wheels for Python 3.10 with Tensorflow support
export BUILD_PYTORCH_OPS=OFF BUILD_TENSORFLOW_OPS=ON
./docker_build.sh cuda_wheel_py310
  • Different color pooling modes for creating VoxelGrid from PointCloud. Contributed by @rxba in #6937
    image

  • File IO now works with Python pathlib.Path. Contributed by @sitic in #6619

  • Improved Python documentation, type checking and auto-complete support with mypy and VS Code. Many PRs (#6869, #6896, #6940, #7095, #7096, #7097, #7103, #7105) contributed by tireless @timohl !

  • Improved camera visualization
    image

  • Add mouse callback to VisualizerWithKeyCallback Contributed by @organic-nailer in @6760.

Known Issues

  • macOS viewer does not work with file associations, does not open a blank window on opening without a file. This is a side effect of the GLFW update (PR #6587) . Please continue using v0.18 macOS viewer.
  • ARM64 Linux builds are not available due to a runtime dynamic linker error: "cannot allocate memory in static TLS block". e.g. see here.
  • [Breaking change] Changed lambda to lambda_penalty in orient_normals_consistent_tangent_plane. (https://github.com/isl-org/Open3D/pull/7096)
  • [Breaking change] Fix torch furthest_point_sampling argument typo (https://github.com/isl-org/Open3D/pull/7025)
  • [Breaking change] If an image read fails, any old image data held in the Image object is cleared to prevent accidental use.
  • BUILD_HEADLESS_RENDERING option (OSMesa) gives a build error in Ubuntu 24.04.

Acknowledgment

We would like to thank all of our community contributors for their true labor of love for this release!
Also thanks to the many others who helped the Open3D community by reporting as well as resolving issues.