10.11. pointCloud¶
-
class
itom.
pointCloud
([type] | pointCloud [,indices] | width, height [,point] | point) → creates new point cloud.¶ Parameters: type : point-type (e.g. point.PointXYZ, see Notes)
pointCloud : {pointCloud}
another pointCloud instance which is appended at this point cloud
indices : {sequence}, optional
only the indices of the given pointCloud will be appended to this point cloud
width : {int}
width of the new point cloud
height : {int}
height of the new point cloud (the point cloud is dense if height > 1)
point : {point}
single point instance. This point cloud is filled up with elements of this point. If width and height are given, every element is set to this point, else the point cloud only consists of this single point.
Notes
- Possible types:
- point.PointXYZ
- point.PointXYZI
- point.PointXYZRGBA
- point.PointXYZNormal
- point.PointXYZINormal
- point.PointXYZRGBNormal
-
append
(point) → appends point at the end of the point cloud.¶ Parameters: point : {point???}, optional Notes
The type of point must fit to the type of the point cloud. If the point cloud is invalid, its type is set to the type of the point.
-
clear
() → clears the whole point cloud¶
-
copy
() → returns a deep copy of this point cloud.¶ Returns: cloud : {pointCloud}
An exact copy if this point cloud.
-
dense
¶ specifies if all the data in points is finite (true), or whether it might contain Inf/NaN values (false).
Notes
{bool} : ReadOnly ReadWrite
-
empty
¶ returns whether this point cloud is empty, hence size == 1
Notes
{} : ReadOnly ReadWrite
-
erase
(indices) -> erases the points in point clouds indicated by indices (single number of slice)¶ Parameters: indices : {} Notes
This method is the same than command ‘del pointCloudVariable[indices]’
-
fields
¶ get available field names of point cloud
Notes
{} : ReadOnly ReadWrite
-
static
fromDisparity
(disparity [,intensity] [,deleteNaN]) → creates a point cloud from a given topography dataObject.¶ Creates a point cloud from the 2.5D data set given by the topography dataObject. The x and y-components of each point are taken from the regular grid values of ‘topography’ (considering the scaling and offset of the object). The corresponding z-value is the topography’s value itself.
This method is deprecated and has been renamed to ‘fromTopography’ due to the wrong usage of the name topography in this case.
Parameters: disparity : {MxN data object, float32}
The values of this dataObject represent the z-components.
intensity : {MxN data object, float32}, optional
If given, an XYZI-point cloud is created whose intensity values are determined by this dataObject (cannot be used together with ‘color’)
deleteNaN : {bool}, optional
If true (default: false), NaN or Inf-values (z) in the topography map will not be copied into the point cloud (the point cloud is not organized any more).
color : {MxN data object, rgba32}, optional
If given, a XYZRGBA-point cloud is created whose color values are determined by this dataObject (cannot be used together with ‘intensity’)
Returns: PointCloud. :
-
static
fromTopography
(topography [,intensity] [,deleteNaN = False]) → creates a point cloud from a given topography dataObject.¶ Creates a point cloud from the 2.5D data set given by the topography dataObject. The x and y-components of each point are taken from the regular grid values of ‘topography’ (considering the scaling and offset of the object). The corresponding z-value is the topography’s value itself.
Parameters: topography : {MxN data object, float32}
The values of this dataObject represent the topography values.
intensity : {MxN data object, float32}, optional
If given, an XYZI-point cloud is created whose intensity values are determined by this dataObject (cannot be used together with ‘color’)
deleteNaN : {bool}, optional
If true (default: false), NaN or Inf-values (z) in the disparity map will not be copied into the point cloud (the point cloud is not organized any more).
color : {MxN data object, rgba32}, optional
If given, a XYZRGBA-point cloud is created whose color values are determined by this dataObject (cannot be used together with ‘intensity’)
Returns: PointCloud. :
-
static
fromXYZ
(X, Y, Z | XYZ) → creates a point cloud from three X,Y,Z data objects or from one 3xMxN data object¶ The created point cloud is not organized (height=1) and dense, if no NaN or Inf values are within the point cloud (deleteNaN:true results in a dense point cloud)
Parameters: X,Y,Z : {MxN data objects}
Three 2D data objects with the same size.
XYZ : {3xMxN or Mx3 data object}
either 3xMxN data object, such that the first plane is X, the second is Y and the third is Z, or: Mx3 data object, such that the point cloud consists of M points where every coordinate is given by the three values in each row.
deleteNaN : {bool}
default = false if True all NaN values are skipped, hence, the resulting point cloud is not dense any more
Returns: PointCloud. :
-
static
fromXYZI
(X, Y, Z, I | XYZ, I) → creates a point cloud from four X,Y,Z,I data objects or from one 3xMxN data object and one intensity data object¶ The created point cloud is not organized (height=1) and dense, if no NaN or Inf values are within the point cloud (deleteNaN:true results in a dense point cloud)
Parameters: X,Y,Z,I : {MxN data objects}
Four 2D data objects with the same size.
OR :
XYZ : {3xMxN data object}
3xMxN data object, such that the first plane is X, the second is Y and the third is Z
I : {MxN data object}
MxN data object with the same size than the single X,Y or Z planes
deleteNaN : {bool}
default = false if True all NaN values are skipped, hence, the resulting point cloud is not dense any more
Returns: PointCloud. :
-
static
fromXYZRGBA
(X, Y, Z, color | XYZ, color) → creates a point cloud from four X,Y,Z,color data objects or from one 3xMxN data object and one coloured data object¶ The created point cloud is not organized (height=1) and dense, if no NaN or Inf values are within the point cloud (deleteNaN:true results in a dense point cloud)
Parameters: X,Y,Z,color : {MxN data objects}
Four 2D data objects with the same size. X,Y,Z must have the same type, color must be rgba32.
OR :
XYZ : {3xMxN data object}
3xMxN data object, such that the first plane is X, the second is Y and the third is Z
color : {MxN data object}
MxN data object with the same size than the single X,Y or Z planes, type: rgba32
deleteNaN : {bool}
default = false if True all NaN or Inf values are skipped, hence, the resulting point cloud does not contain this values
Returns: PointCloud. :
-
height
¶ returns height of point cloud if organized as regular grid (organized == true), else 1 specifies the height of the point cloud dataset in the number of points. HEIGHT has two meanings:
- it can specify the height (total number of rows) of an organized point cloud dataset;
- it is set to 1 for unorganized datasets (thus used to check whether a dataset is organized or not).
Notes
{} : ReadOnly ReadWrite
-
insert
(index, values) → inserts a single point or a sequence of points before position given by index¶ Parameters: index : {}
values : {}
Notes
doctodo
-
name
()¶
-
organized
¶ returns whether this point cloud is organized as regular grid, hence height != 1
Notes
{} : ReadOnly ReadWrite
-
size
¶ returns number of points in point cloud
Notes
{} : ReadOnly ReadWrite
-
toDataObject
() → returns a PxN data object, where P is determined by the point type in the point cloud. N is the number of points.¶ The output has at least 3 elements per column. Onr got each coordinate (xyz). These will always be the first 3 elements. If the pointcloud type has normals defined, these will be added in the next 4 columns as [nx, ny, nz, curvature]. If the pointcloud type has an intensity, these will be added in the next 1 column as [intensity]. If the pointcloud type has an RGB(A)-intensity, these will be added in the next 4 column as [r, g, b, a]. Hence following combinations are possible [x,y,z], [x,y,z,i], [x,y,z,r,g,b,a], [x,y,z,nx,ny,nz, curvature], [x,y,z,nx,ny,nz, curvature, i], ...
Returns: dObj : {dataObject}
A dataObject with P (cols) by N elements (Points), where the elements per column depend on the point cloud type
Notes
doctodo
-
type
¶ returns point type of point cloud
Notes
{} : ReadOnly ReadWrite
-
width
¶ returns width of point cloud if organized as regular grid (organized == true), else equal to size specifies the width of the point cloud dataset in the number of points. WIDTH has two meanings:
- it can specify the total number of points in the cloud (equal with POINTS see below) for unorganized datasets;
- it can specify the width (total number of points in a row) of an organized point cloud dataset.
Notes
{} : ReadOnly ReadWrite