open3d.geometry.VoxelGrid¶
-
class
open3d.geometry.
VoxelGrid
¶ VoxelGrid is a collection of voxels which are aligned in grid.
-
class
Type
¶ Enum class for Geometry types.
-
HalfEdgeTriangleMesh
= <Type.HalfEdgeTriangleMesh: 7>¶
-
Image
= <Type.Image: 8>¶
-
LineSet
= <Type.LineSet: 4>¶
-
PointCloud
= <Type.PointCloud: 1>¶
-
RGBDImage
= <Type.RGBDImage: 9>¶
-
TetraMesh
= <Type.TetraMesh: 10>¶
-
TriangleMesh
= <Type.TriangleMesh: 6>¶
-
Unspecified
= <Type.Unspecified: 0>¶
-
VoxelGrid
= <Type.VoxelGrid: 2>¶
-
property
value
¶
-
-
__init__
(*args, **kwargs)¶ Overloaded function.
__init__(self: open3d.cpu.pybind.geometry.VoxelGrid) -> None
Default constructor
__init__(self: open3d.cpu.pybind.geometry.VoxelGrid, arg0: open3d.cpu.pybind.geometry.VoxelGrid) -> None
Copy constructor
-
carve_depth_map
(self, depth_map, camera_params, keep_voxels_outside_image=False)¶ Remove all voxels from the VoxelGrid where none of the boundary points of the voxel projects to depth value that is smaller, or equal than the projected depth of the boundary point. If keep_voxels_outside_image is true then voxels are only carved if all boundary points project to a valid image location.
- Parameters
depth_map (open3d.geometry.Image) – Depth map (Image) used for VoxelGrid carving.
camera_params (open3d.camera.PinholeCameraParameters) –
keep_voxels_outside_image (bool, optional, default=False) – retain voxels that don’t project to pixels in the image
- Returns
open3d.geometry.VoxelGrid
-
carve_silhouette
(self, silhouette_mask, camera_params, keep_voxels_outside_image=False)¶ Remove all voxels from the VoxelGrid where none of the boundary points of the voxel projects to a valid mask pixel (pixel value > 0). If keep_voxels_outside_image is true then voxels are only carved if all boundary points project to a valid image location.
- Parameters
silhouette_mask (open3d.geometry.Image) – Silhouette mask (Image) used for VoxelGrid carving.
camera_params (open3d.camera.PinholeCameraParameters) –
keep_voxels_outside_image (bool, optional, default=False) – retain voxels that don’t project to pixels in the image
- Returns
open3d.geometry.VoxelGrid
-
check_if_included
(self, queries)¶ Element-wise check if a query in the list is included in the VoxelGrid. Queries are double precision and are mapped to the closest voxel.
- Parameters
queries (open3d.utility.Vector3dVector) –
- Returns
List[bool]
-
clear
(self)¶ Clear all elements in the geometry.
- Returns
open3d.geometry.Geometry
-
static
create_dense
(origin, color, voxel_size, width, height, depth)¶ Creates a voxel grid where every voxel is set (hence dense). This is a useful starting point for voxel carving
- Parameters
origin (numpy.ndarray[numpy.float64[3, 1]]) – Coordinate center of the VoxelGrid
color (numpy.ndarray[numpy.float64[3, 1]]) – Voxel color for all voxels if the VoxelGrid.
voxel_size (float) – Voxel size of of the VoxelGrid construction.
width (float) – Spatial width extend of the VoxelGrid.
height (float) – Spatial height extend of the VoxelGrid.
depth (float) – Spatial depth extend of the VoxelGrid.
- Returns
open3d.geometry.VoxelGrid
-
create_from_octree
(self, octree)¶ Convert from Octree.
- Parameters
octree (open3d.geometry.Octree) – geometry.Octree: The source octree.
- Returns
None
-
static
create_from_point_cloud
(input, voxel_size)¶ Creates a VoxelGrid from a given PointCloud. The color value of a given voxel is the average color value of the points that fall into it (if the PointCloud has colors). The bounds of the created VoxelGrid are computed from the PointCloud.
- Parameters
input (open3d.geometry.PointCloud) – The input PointCloud
voxel_size (float) – Voxel size of of the VoxelGrid construction.
- Returns
open3d.geometry.VoxelGrid
-
static
create_from_point_cloud_within_bounds
(input, voxel_size, min_bound, max_bound)¶ Creates a VoxelGrid from a given PointCloud. The color value of a given voxel is the average color value of the points that fall into it (if the PointCloud has colors). The bounds of the created VoxelGrid are defined by the given parameters.
- Parameters
input (open3d.geometry.PointCloud) – The input PointCloud
voxel_size (float) – Voxel size of of the VoxelGrid construction.
min_bound (numpy.ndarray[numpy.float64[3, 1]]) – Minimum boundary point for the VoxelGrid to create.
max_bound (numpy.ndarray[numpy.float64[3, 1]]) – Maximum boundary point for the VoxelGrid to create.
- Returns
open3d.geometry.VoxelGrid
-
static
create_from_triangle_mesh
(input, voxel_size)¶ Creates a VoxelGrid from a given TriangleMesh. No color information is converted. The bounds of the created VoxelGrid are computed from the TriangleMesh.
- Parameters
input (open3d.geometry.TriangleMesh) – The input TriangleMesh
voxel_size (float) – Voxel size of of the VoxelGrid construction.
- Returns
open3d.geometry.VoxelGrid
-
static
create_from_triangle_mesh_within_bounds
(input, voxel_size, min_bound, max_bound)¶ Creates a VoxelGrid from a given TriangleMesh. No color information is converted. The bounds of the created VoxelGrid are defined by the given parameters
- Parameters
input (open3d.geometry.TriangleMesh) – The input TriangleMesh
voxel_size (float) – Voxel size of of the VoxelGrid construction.
min_bound (numpy.ndarray[numpy.float64[3, 1]]) – Minimum boundary point for the VoxelGrid to create.
max_bound (numpy.ndarray[numpy.float64[3, 1]]) – Maximum boundary point for the VoxelGrid to create.
- Returns
open3d.geometry.VoxelGrid
-
dimension
(self)¶ Returns whether the geometry is 2D or 3D.
- Returns
int
-
get_axis_aligned_bounding_box
(self)¶ Returns an axis-aligned bounding box of the geometry.
- Returns
open3d.geometry.AxisAlignedBoundingBox
-
get_center
(self)¶ Returns the center of the geometry coordinates.
- Returns
numpy.ndarray[numpy.float64[3, 1]]
-
get_geometry_type
(self)¶ Returns one of registered geometry types.
- Returns
open3d.geometry.Geometry.GeometryType
-
get_max_bound
(self)¶ Returns max bounds for geometry coordinates.
- Returns
numpy.ndarray[numpy.float64[3, 1]]
-
get_min_bound
(self)¶ Returns min bounds for geometry coordinates.
- Returns
numpy.ndarray[numpy.float64[3, 1]]
-
get_minimal_oriented_bounding_box
(self: open3d.cpu.pybind.geometry.Geometry3D, robust: bool = False) → open3d::geometry::OrientedBoundingBox¶ Returns the minimal oriented bounding box for the geometry.
Creates the oriented bounding box with the smallest volume. The algorithm makes use of the fact that at least one edge of the convex hull must be collinear with an edge of the minimum bounding box: for each triangle in the convex hull, calculate the minimal axis aligned box in the frame of that triangle. at the end, return the box with the smallest volume
- Parameters
robust (bool) – If set to true uses a more robust method which works in degenerate cases but introduces noise to the points coordinates.
- Returns
The oriented bounding box. The bounding box is oriented such that its volume is minimized.
- Return type
-
get_oriented_bounding_box
(self: open3d.cpu.pybind.geometry.Geometry3D, robust: bool = False) → open3d::geometry::OrientedBoundingBox¶ Returns the oriented bounding box for the geometry.
Computes the oriented bounding box based on the PCA of the convex hull. The returned bounding box is an approximation to the minimal bounding box.
- Parameters
robust (bool) – If set to true uses a more robust method which works in degenerate cases but introduces noise to the points coordinates.
- Returns
The oriented bounding box. The bounding box is oriented such that the axes are ordered with respect to the principal components.
- Return type
-
static
get_rotation_matrix_from_axis_angle
(rotation: numpy.ndarray[numpy.float64[3, 1]]) → numpy.ndarray[numpy.float64[3, 3]]¶
-
static
get_rotation_matrix_from_quaternion
(rotation: numpy.ndarray[numpy.float64[4, 1]]) → numpy.ndarray[numpy.float64[3, 3]]¶
-
static
get_rotation_matrix_from_xyz
(rotation: numpy.ndarray[numpy.float64[3, 1]]) → numpy.ndarray[numpy.float64[3, 3]]¶
-
static
get_rotation_matrix_from_xzy
(rotation: numpy.ndarray[numpy.float64[3, 1]]) → numpy.ndarray[numpy.float64[3, 3]]¶
-
static
get_rotation_matrix_from_yxz
(rotation: numpy.ndarray[numpy.float64[3, 1]]) → numpy.ndarray[numpy.float64[3, 3]]¶
-
static
get_rotation_matrix_from_yzx
(rotation: numpy.ndarray[numpy.float64[3, 1]]) → numpy.ndarray[numpy.float64[3, 3]]¶
-
static
get_rotation_matrix_from_zxy
(rotation: numpy.ndarray[numpy.float64[3, 1]]) → numpy.ndarray[numpy.float64[3, 3]]¶
-
static
get_rotation_matrix_from_zyx
(rotation: numpy.ndarray[numpy.float64[3, 1]]) → numpy.ndarray[numpy.float64[3, 3]]¶
-
get_voxel
(self, point)¶ Returns voxel index given query point.
- Parameters
point (numpy.ndarray[numpy.float64[3, 1]]) – The query point.
- Returns
numpy.ndarray[numpy.int32[3, 1]]
-
get_voxel_bounding_points
(self, index)¶ Returns the 8 bounding points of a voxel given its grid index.
- Parameters
index (numpy.ndarray[numpy.int32[3, 1]]) – The grid index of the query voxel.
- Returns
open3d.utility.Vector3dVector
-
get_voxel_center_coordinate
(self, idx)¶ Returns the center coordinate of a voxel given its grid index.
- Parameters
idx (numpy.ndarray[numpy.int32[3, 1]]) – The grid index of the query voxel.
- Returns
numpy.ndarray[numpy.float64[3, 1]]
-
get_voxels
(self: open3d.cpu.pybind.geometry.VoxelGrid) → List[open3d.cpu.pybind.geometry.Voxel]¶ Returns List of
Voxel
: Voxels contained in voxel grid. Changes to the voxels returned from this methodare not reflected in the voxel grid.
-
has_colors
(self)¶ Returns
True
if the voxel grid contains voxel colors.- Returns
bool
-
has_voxels
(self)¶ Returns
True
if the voxel grid contains voxels.- Returns
bool
-
is_empty
(self)¶ Returns
True
iff the geometry is empty.- Returns
bool
-
rotate
(*args, **kwargs)¶ Overloaded function.
- rotate(self, R)
Apply rotation to the geometry coordinates and normals.
- Parameters
R (numpy.ndarray[numpy.float64[3, 3]]) – The rotation matrix
- Returns
open3d.geometry.Geometry3D
- rotate(self, R, center)
Apply rotation to the geometry coordinates and normals.
- Parameters
R (numpy.ndarray[numpy.float64[3, 3]]) – The rotation matrix
center (numpy.ndarray[numpy.float64[3, 1]]) – Rotation center used for transformation.
- Returns
open3d.geometry.Geometry3D
-
scale
(*args, **kwargs)¶ Overloaded function.
- scale(self, scale, center)
Apply scaling to the geometry coordinates.
- Parameters
scale (float) – The scale parameter that is multiplied to the points/vertices of the geometry.
center (numpy.ndarray[numpy.float64[3, 1]]) – Scale center used for transformation.
- Returns
open3d.geometry.Geometry3D
- scale(self, scale, center)
Apply scaling to the geometry coordinates.
- Parameters
scale (float) – The scale parameter that is multiplied to the points/vertices of the geometry.
center (numpy.ndarray[numpy.float64[3, 1]]) – Scale center used for transformation.
- Returns
open3d.geometry.Geometry3D
-
to_octree
(self, max_depth)¶ Convert to Octree.
- Parameters
max_depth (int) – int: Maximum depth of the octree.
- Returns
open3d.geometry.Octree
-
transform
(self, arg0)¶ Apply transformation (4x4 matrix) to the geometry coordinates.
- Parameters
arg0 (numpy.ndarray[numpy.float64[4, 4]]) –
- Returns
open3d.geometry.Geometry3D
-
translate
(self, translation, relative=True)¶ Apply translation to the geometry coordinates.
- Parameters
translation (numpy.ndarray[numpy.float64[3, 1]]) – A 3D vector to transform the geometry
relative (bool, optional, default=True) – If true, the translation vector is directly added to the geometry coordinates. Otherwise, the center is moved to the translation vector.
- Returns
open3d.geometry.Geometry3D
-
HalfEdgeTriangleMesh
= <Type.HalfEdgeTriangleMesh: 7>¶
-
Image
= <Type.Image: 8>¶
-
LineSet
= <Type.LineSet: 4>¶
-
PointCloud
= <Type.PointCloud: 1>¶
-
RGBDImage
= <Type.RGBDImage: 9>¶
-
TetraMesh
= <Type.TetraMesh: 10>¶
-
TriangleMesh
= <Type.TriangleMesh: 6>¶
-
Unspecified
= <Type.Unspecified: 0>¶
-
VoxelGrid
= <Type.VoxelGrid: 2>¶
-
property
origin
¶ Coorindate of the origin point.
- Type
float64
vector of length 3
-
property
voxel_size
¶ float64
Size of the voxel.
-
class