Open3D Python API Map#
Open3D v0.20.0.
This file does not list class members — dir() and help() already do that,
better, and always in sync with your installed build:
python -c "import open3d as o3d; print([n for n in dir(o3d.t.geometry.PointCloud) if not n.startswith('_')])"
python -c "import open3d as o3d; help(o3d.t.geometry.PointCloud.voxel_down_sample)"
What follows is what introspection cannot tell you: which namespace owns a task, which of ~60 similarly-named methods is the right one, what is current versus legacy, and which behaviors will surprise you.
Namespace Routing#
You want to… |
Namespace |
|---|---|
Numeric arrays, devices, linear algebra |
|
Neighbor search |
|
Point clouds, meshes, images, bounding volumes, ray casting, TSDF |
|
Read/write geometry and images; RealSense |
|
ICP, feature matching, registration |
|
RGB-D odometry |
|
Dense SLAM |
|
Non-rigid refinement of fragment poses |
|
Show something on screen |
|
Build a custom 3D app |
|
Sample data |
|
Legacy Eigen equivalents (fallback only) |
|
Task → API#
Point clouds#
Task |
Call |
|---|---|
Load / save |
|
Reduce point count |
|
Normals |
|
Denoise |
|
Take a subset |
|
Find planes / clusters |
|
Smooth |
|
Move / colorize |
|
From RGB-D |
|
Back to 2D |
|
Compare two clouds |
|
Meshes#
Task |
Call |
|---|---|
Load / save |
|
Primitives |
|
Normals |
|
Reduce triangles |
|
Repair |
|
CSG |
|
Cut |
|
Mesh → points |
|
UVs and textures |
|
Surface from a point cloud |
legacy only — |
Registration#
Task |
Call |
|---|---|
Refine a roughly-aligned pair |
|
Pick the error metric |
|
Downweight outliers |
pass a |
Coarse / global alignment |
|
Score an alignment |
|
Covariance for a pose graph |
|
Optimize many fragments jointly |
legacy only — |
Reconstruction#
Task |
Call |
|---|---|
Fuse RGB-D frames into a volume |
|
Get the surface out |
|
Frame-to-frame camera pose |
|
Online dense SLAM |
|
Refine fragment poses |
|
Queries and search#
Task |
Call |
|---|---|
k nearest neighbors |
|
All neighbors within a radius |
|
A different radius per query |
|
k neighbors capped by a radius |
|
Ray/mesh intersection |
|
Distance to a surface |
|
Inside/outside test |
|
Closest point on a surface |
|
Visibility / counting hits |
|
KDTreeFlann is legacy — always use core.nns instead.
Visualization#
Task |
Call |
|---|---|
Just look at it |
|
Several named, toggleable objects |
|
An image file, no window |
|
Custom app with widgets |
|
Control appearance |
|
Inline in a notebook |
|
Log 3D data over training steps |
|
Tensor ↔ Legacy#
Same class name, different namespace: PointCloud, TriangleMesh, LineSet,
Image, RGBDImage, AxisAlignedBoundingBox, OrientedBoundingBox, and every
read_* / write_* IO function (o3d.io.X → o3d.t.io.X).
Renamed or restructured:
Legacy |
Tensor |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Legacy-only — a fallback here is justified#
Octree · TetraMesh · HalfEdgeTriangleMesh · geometry.keypoint ·
TSDF volumes (pipelines.integration.*) · pose graphs and global_optimization ·
RANSAC and FGR global registration · pipelines.color_map.* · camera.* ·
surface reconstruction from point clouds (Poisson / alpha shape / ball pivoting) ·
visualizer editing and vertex-selection subclasses · detect_planar_patches ·
compute_point_cloud_distance · voxel_down_sample_and_trace
Tensor-only — no legacy equivalent#
core.Tensor and explicit device placement · core.HashMap / HashSet ·
core.nns.NearestNeighborSearch · RaycastingScene · VoxelBlockGrid ·
custom per-point attributes via TensorMap · Chamfer/Hausdorff/F-score metrics ·
SLAC and SLAM · Doppler ICP
Non-Obvious Behavior#
Things that cost debugging time and are not visible in a signature.
API |
What to know |
|---|---|
dtype constants |
Lowercase in Python ( |
linear algebra |
There is no |
|
Defaults to |
tensor geometry attributes |
|
|
|
any registration result |
|
|
|
|
CPU and SYCL only, never CUDA. Device is a constructor argument |
|
The sign is only meaningful for watertight meshes |
|
Ragged output: values plus row-split offsets, not a rectangular array |
|
Orientation is arbitrary; follow with an |
index tensors |
Must be |
|
The tensor must already be on CPU |
|
Shares memory; a |
|
Downloads on first use into |
|
|
optional modules |
|
Sample Data#
o3d.data classes download on construction; read .path, .paths, or
type-specific attributes (.depth_paths, .color_paths, .camera_intrinsic_path).
Need |
Use |
|---|---|
A point cloud |
|
A mesh |
|
Two clouds to register |
|
An RGB-D sequence |
|
A single RGB-D frame |
|
A textured model |
|
A PBR texture set |
|
A full indoor scene |
|
Full list: python -c "import open3d as o3d; print(dir(o3d.data))"