open3d.t.geometry.PointCloud

class open3d.t.geometry.PointCloud

A pointcloud contains a set of 3D points.

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: open3d.cpu.pybind.t.geometry.PointCloud, device: open3d.cpu.pybind.core.Device) -> None

  2. __init__(self: open3d.cpu.pybind.t.geometry.PointCloud, points: open3d.cpu.pybind.core.Tensor) -> None

  3. __init__(self: open3d.cpu.pybind.t.geometry.PointCloud, map_keys_to_tensors: Dict[str, open3d.cpu.pybind.core.Tensor]) -> None

append(self: open3d.cpu.pybind.t.geometry.PointCloud, arg0: open3d.cpu.pybind.t.geometry.PointCloud)open3d.cpu.pybind.t.geometry.PointCloud
clear(self)

Clear all elements in the geometry.

Returns

open3d.t.geometry.Geometry

clone(self: open3d.cpu.pybind.t.geometry.PointCloud)open3d.cpu.pybind.t.geometry.PointCloud

Returns a copy of the point cloud on the same device.

cpu(self: open3d.cpu.pybind.t.geometry.PointCloud)open3d.cpu.pybind.t.geometry.PointCloud

Transfer the point cloud to CPU. If the point cloud is already on CPU, no copy will be performed.

static create_from_depth_image(depth, intrinsics, extrinsics=(with default value), depth_scale=1000.0, depth_max=3.0, stride=1, with_normals=False)

Factory function to create a pointcloud (with only ‘points’) from a depth image and a camera model.

Given depth value d at (u, v) image coordinate, the corresponding 3d point is: z = d / depth_scale

x = (u - cx) * z / fx

y = (v - cy) * z / fy

Parameters
  • depth (open3d.t.geometry.Image) – The input depth image should be a uint16_t image.

  • intrinsics (open3d.core.Tensor) – Intrinsic parameters of the camera.

  • extrinsics (open3d.core.Tensor, optional) –

    Extrinsic parameters of the camera. Default value:

    [[1.0 0.0 0.0 0.0], [0.0 1.0 0.0 0.0], [0.0 0.0 1.0 0.0], [0.0 0.0 0.0 1.0]] Tensor[shape={4, 4}, stride={4, 1}, Float32

    ()

  • depth_scale (float, optional, default=1000.0) – The depth is scaled by 1 / depth_scale.

  • depth_max (float, optional, default=3.0) – Truncated at depth_max distance.

  • stride (int, optional, default=1) – Sampling factor to support coarse point cloud extraction. Unless normals are requested, there is no low pass filtering, so aliasing is possible for stride>1.

  • with_normals (bool, optional, default=False) – Also compute normals for the point cloud. If True, the point cloud will only contain points with valid normals. If normals are requested, the depth map is first filtered to ensure smooth normals.

Returns

open3d.t.geometry.PointCloud

static create_from_rgbd_image(rgbd_image, intrinsics, extrinsics=(with default value), depth_scale=1000.0, depth_max=3.0, stride=1, with_normals=False)

Factory function to create a pointcloud (with properties {‘points’, ‘colors’}) from an RGBD image and a camera model.

Given depth value d at (u, v) image coordinate, the corresponding 3d point is:

z = d / depth_scale

x = (u - cx) * z / fx

y = (v - cy) * z / fy

Parameters
  • rgbd_image (open3d.t.geometry.RGBDImage) – The input RGBD image should have a uint16_t depth image and RGB image with any DType and the same size.

  • intrinsics (open3d.core.Tensor) – Intrinsic parameters of the camera.

  • extrinsics (open3d.core.Tensor, optional) –

    Extrinsic parameters of the camera. Default value:

    [[1.0 0.0 0.0 0.0], [0.0 1.0 0.0 0.0], [0.0 0.0 1.0 0.0], [0.0 0.0 0.0 1.0]] Tensor[shape={4, 4}, stride={4, 1}, Float32

    ()

  • depth_scale (float, optional, default=1000.0) – The depth is scaled by 1 / depth_scale.

  • depth_max (float, optional, default=3.0) – Truncated at depth_max distance.

  • stride (int, optional, default=1) – Sampling factor to support coarse point cloud extraction. Unless normals are requested, there is no low pass filtering, so aliasing is possible for stride>1.

  • with_normals (bool, optional, default=False) – Also compute normals for the point cloud. If True, the point cloud will only contain points with valid normals. If normals are requested, the depth map is first filtered to ensure smooth normals.

Returns

open3d.t.geometry.PointCloud

cuda(self: open3d.cpu.pybind.t.geometry.PointCloud, device_id: int = 0)open3d.cpu.pybind.t.geometry.PointCloud

Transfer the point cloud to a CUDA device. If the point cloud is already on the specified CUDA device, no copy will be performed.

static from_legacy_pointcloud(pcd_legacy: open3d.cpu.pybind.geometry.PointCloud, dtype: open3d.cpu.pybind.core.Dtype = Float32, device: open3d.cpu.pybind.core.Device = CPU:0)open3d.cpu.pybind.t.geometry.PointCloud

Create a PointCloud from a legacy Open3D PointCloud.

get_center(self: open3d.cpu.pybind.t.geometry.PointCloud)open3d.cpu.pybind.core.Tensor

Returns the center for point coordinates.

get_max_bound(self: open3d.cpu.pybind.t.geometry.PointCloud)open3d.cpu.pybind.core.Tensor

Returns the max bound for point coordinates.

get_min_bound(self: open3d.cpu.pybind.t.geometry.PointCloud)open3d.cpu.pybind.core.Tensor

Returns the min bound for point coordinates.

is_empty(self)

Returns True iff the geometry is empty.

Returns

bool

rotate(self: open3d.cpu.pybind.t.geometry.PointCloud, R: open3d.cpu.pybind.core.Tensor, center: open3d.cpu.pybind.core.Tensor)open3d.cpu.pybind.t.geometry.PointCloud

Rotate points and normals (if exist).

scale(self: open3d.cpu.pybind.t.geometry.PointCloud, scale: float, center: open3d.cpu.pybind.core.Tensor)open3d.cpu.pybind.t.geometry.PointCloud

Scale points.

to(self: open3d.cpu.pybind.t.geometry.PointCloud, device: open3d.cpu.pybind.core.Device, copy: bool = False)open3d.cpu.pybind.t.geometry.PointCloud

Transfer the point cloud to a specified device.

to_legacy_pointcloud(self: open3d.cpu.pybind.t.geometry.PointCloud)open3d.cpu.pybind.geometry.PointCloud

Convert to a legacy Open3D PointCloud.

transform(self: open3d.cpu.pybind.t.geometry.PointCloud, transformation: open3d.cpu.pybind.core.Tensor)open3d.cpu.pybind.t.geometry.PointCloud

Transforms the points and normals (if exist).

translate(self: open3d.cpu.pybind.t.geometry.PointCloud, translation: open3d.cpu.pybind.core.Tensor, relative: bool = True)open3d.cpu.pybind.t.geometry.PointCloud

Translates points.

voxel_down_sample(self: open3d.cpu.pybind.t.geometry.PointCloud, voxel_size: float)open3d.cpu.pybind.t.geometry.PointCloud

Downsamples a point cloud with a specified voxel size.

property point

points, colors, normals, etc.

Type

Point’s attributes