A dense Cartesian 3D point cloud object. More...
Inherits PointCloud.
Public Member Functions | |
cvb.DensePointCloud | crop (self, cvb.Cuboid clip_box) |
Creates a new point cloud which only consists of the points inside the clip box. More... | |
cvb.DensePointCloud | frustum_crop (self, cvb.Cuboid clip_box, cvb.Angle theta, cvb.Angle phi) |
Creates a new point cloud which only consists of the points inside the clip box. More... | |
cvb.DensePointCloud | plane_crop (self, cvb.Plane3D plane, cvb.NumberRange range, int crop_range) |
Creates a new point cloud where points within or outside a range parallel to given plane are cropped. More... | |
cvb.DensePointCloud | plane_crop (self, cvb.Plane3D plane, float threshold, Optional[int] crop_below_above) |
Creates a new point cloud which only consists of the points below or above given plane. More... | |
cvb.DensePointCloud | shrink (self) |
Creates a new dense point cloud where non-confident points at the borders are removed. More... | |
cvb.SparsePointCloud | to_sparse_point_cloud (self) |
Creates a sparse point cloud from this dense point cloud with confidence plane. More... | |
Public Member Functions inherited from PointCloud | |
cvb.Cuboid | calculate_bounding_box (self) |
Calculates the minimum and maximum extent of the point cloud. More... | |
cvb.Point3D | calculate_center_of_gravity (self) |
Gets the center of gravity of the point cloud. More... | |
cvb.Matrix3D | calculate_covariance_matrix (self) |
Get the covariance matrix of the point cloud. More... | |
Union[cvb.DensePointCloud, cvb.SparsePointCloud] | convert (self, int flags) |
Creates a new point cloud, which is a copy from this point cloud, but with possibly different data type and number of components. More... | |
Union[cvb.DensePointCloud, cvb.SparsePointCloud] | down_sample (self, int mode, int value) |
Creates a new point cloud which has several points being removed dependent on the down sample mode and value. More... | |
Union[cvb.DensePointCloud, cvb.SparsePointCloud] | duplicate (self) |
Creates a new point cloud which is a copy from this point cloud. More... | |
cvb.Plane3D | fit_plane (self, Optional[cvb.Cuboid] aoi) |
Fits a plane in the points of the point cloud. More... | |
Union[cvb.DensePointCloud, cvb.SparsePointCloud] | from_composite (cvb.Composite composite) |
Creates a point cloud from a composite. More... | |
Union[cvb.DensePointCloud, cvb.SparsePointCloud] | matrix_transform (self, cvb.Matrix3DH matrix) |
Creates a new point cloud with all points being transformed by the given transformation. More... | |
cvb.Image | range_map (self, cvb.NumberRange x_range, cvb.NumberRange y_range, cvb.Size2D size, float background) |
Creates a new range map image via linear projection in negative z-direction. More... | |
None | save (self, str file_name, Optional[int] flags) |
Saves the given point cloud to the file with the given file_name. More... | |
Union[cvb.DensePointCloud, cvb.SparsePointCloud] | scale (self, Union[cvb.Factors3D, List[float]] factors) |
Creates a new point cloud with all points being scaled by the given factors. More... | |
Union[cvb.DensePointCloud, cvb.SparsePointCloud] | transform (self, cvb.AffineMatrix3D transformation) |
Creates a new point cloud with all points being transformed by the given transformation. More... | |
Properties | |
lattice_size = property | |
cvb.Size2D: Gets the number of x, y, z (,w) point rows and columns of the given dense PointCloud. | |
Properties inherited from PointCloud | |
data_type = property | |
cvb.DataType: Gets the DataType of the x, y, z(, w) components of the given PointCloud. | |
layout = property | |
int: Gets the layout of the available buffers / planes of the given point cloud (see cvb.PointCloudLayout). | |
num_points = property | |
int: Gets the number of x, y, z(, w) points in the given point cloud. | |
plane_count = property | |
int: Gets the number of planes enumerated by this object. | |
planes = property | |
List[cvb.Plane]: Gets all available planes enumerated by this object. | |
A dense Cartesian 3D point cloud object.
A dense point cloud is an ordered set of 3D points, placed on a grid with a given width and height. The advantage of dense clouds is to have immediate neighbor information. The disadvantage is, that you cannot have arbitrary clouds (e.g.an affine transformation breaks the lattice view). Also each x - y - position can have only one corresponding z - height. A dense point cloud has grid / neighbor information available and has a larger memory than a sparse point cloud(due to NaN values / holes). Each dense point cloud can be converted to a sparse point cloud.
cvb.DensePointCloud crop | ( | self, | |
cvb.Cuboid | clip_box | ||
) |
Creates a new point cloud which only consists of the points inside the clip box.
clip_box : cvb.Cuboid Cuboid defining the bounds for the points to be copied (min/max are inclusive).
cvb.DensePointCloud The new point cloud.
cvb.DensePointCloud frustum_crop | ( | self, | |
cvb.Cuboid | clip_box, | ||
cvb.Angle | theta, | ||
cvb.Angle | phi | ||
) |
Creates a new point cloud which only consists of the points inside the clip box.
The orientation of the two boundary planes Z=Zmin and Z=Zmax can be modified by angles theta and phi. For theta, phi = 0,0 the function will give the same result as crop(). Angle theta tilts the two Z - boundary planes towards the(positive) Y - axis. Additionally, phi rotates the tilted Z - boundary planes around the Z - axis(for theta = 0, phi will have no effect, because it is then just an inplane - rotation). The two Z - boundary planes will stay parallel, but no longer necessarily orthogonal to the lateral boundary planes. Note, that only the Z - boundaries are tilted and not the whole bounding box, i.e.X - and Y - boundaries will stay the same.
clip_box : cvb.Cuboid Cuboid defining the bounds for the points to be copied (min / max are inclusive).
theta : cvb.Angle Tilt angle of the two Z-boundary planes Z=Zmin and Z=Zmax towards the positive Y - axis.
phi : cvb.Angle Rotation angle of the tilted Z-boundary planes around the Z - axis.If Theta = 0, Phi will have no effect.
cvb.DensePointCloud plane_crop | ( | self, | |
cvb.Plane3D | plane, | ||
cvb.NumberRange | range, | ||
int | crop_range | ||
) |
Creates a new point cloud where points within or outside a range parallel to given plane are cropped.
The plane is defined by the hessian normal form:
Points are cropped within or outside a range parallel to the given plane. The range is defined by range. Note, that Range.Max and Range.Min are applied along normal direction.
In order to define a range around the plane, maximum and minimum range have to be positive and negative respectively.
plane : cvb.Plane3D Points parallel to this plane will be cropped.
range : cvb.NumberRange Points within or outside this range will be cropped.
crop_range : int Indicates whether points should be cropped within or outside the range.
cvb.DensePointCloud Cropped point cloud.
cvb.DensePointCloud plane_crop | ( | self, | |
cvb.Plane3D | plane, | ||
float | threshold, | ||
Optional[int] | crop_below_above | ||
) |
Creates a new point cloud which only consists of the points below or above given plane.
The plane is defined by the hessian normal form:
Above plane means all points with z values greater than the plane are cropped. It makes no difference in which direction the given normal points. The normal is always converted, so that it points up (positive z value). Note, if Normal.Z equals 0, 'below' and 'above' is undefined and thus no cropping is done. Instead the input point cloud will be duplicated.
plane : cvb.Plane3D Points beyond this plane will be cropped.
threshold : float Points below plane plus this value and points above plane minus this value are cropped respectively. This threshold should be set, if plane is calculated via fit_plane(). It ensures, that all points beyond this plane plus noise are cropped.
crop_below_above : Optional[int] Indicates if points should either be cropped below or above plane (optional, default value: cvb.CropDirection.Below).
cvb.DensePointCloud Cropped point cloud.
cvb.DensePointCloud shrink | ( | self | ) |
Creates a new dense point cloud where non-confident points at the borders are removed.
Please ensure that your point cloud contains a confidence plane.
cvb.DensePointCloud The shrinked point cloud.
cvb.SparsePointCloud to_sparse_point_cloud | ( | self | ) |
Creates a sparse point cloud from this dense point cloud with confidence plane.
Non - confident points will be removed and the confidence plane is not kept. The new sparse point cloud has the same planes as this dense point cloud(except confidence).
cvb.SparsePointCloud Converted sparse point cloud.