Point cloud

A point cloud is an set of points in 3D space, usually sampling a surface. The ImFusion Suite distinquishes between “ordinary” point clouds, i.e. unordered sets of points, and “dense” point clouds, which have a certain regular structure because they were captured from a rasterizing scanning device. If a point cloud was captured in the ImFusion Suite, e.g. by using an RGBD camera, it will automatically be considered “dense” and each point will (internally) reference the camera pixel it was captured with, enabling or accelerating certain algorithms and computations.

In addition to its mandatory position each point in a point cloud can have a color and a normal. If no colors are specified on a per-point basis the visualization of the point cloud falls back to using a constant color for all points. This “uniform” color can be changed in the context menu. Individual point colors can only be set by an algorithm or on creation of the point cloud (loading from disc or by extracting it from a Mesh using the Mesh/Point Cloud Operations from the context menu).

A point cloud in the ImFusion Suite

A point cloud in the ImFusion Suite. Highlighted are the viewport (center), the point cloud's context menu (left) and the toolbar (above).

There are two major ways for interacting with point clouds: via the point cloud’s context menu, accessible by right clicking on a point cloud in the “Annotations” view, or via the toolbar that appears when the point cloud is selected in the Annotations view.

A tutorial video on how to work with point clouds can be watched here

Annotation

A point cloud is a kind of data annotation, however in contrast to most other annotations there are many options for processing and working with point clouds. Those are accessible mainly by the context menu, but some rendering-specific options are also duplicated in the toolbar (see figure above).

Working with Point Clouds

Transformation

The position and orientation of a point cloud in 3D space can be changed interactively by using the Translate and Rotate manipulators in the toolbar or explicitly by specifying a transformation. This can be done by selecting Edit Transformations from the context menu, which will open a transformation dialog dialog that can be used to set the point cloud’s transformation matrix.

Processing

A point cloud’s context menu lists all algorithms applicable to this point cloud, distributed over several modules:

  • IO: import and export of point clouds
  • Base: combination of point clouds
  • RGB-D: primitive fitting
  • Vision: meshing, cropping, calibration, measurement

Note that some might require the point cloud to be “dense” to show up and for some multiple pont clouds must be selected.

Rendering

A point cloud will be rendered as simple points in the viewport, the size of which can be set in the context menu using Set Point Size. It supports two material modes, selectable via the context menu or via the Material mode dropdown menu in the toolbar:

  • Uniform: All points of the PointCloud will be colored with the same color currently set for the PointCloud
  • Texture: Each point is colored individually with its own color

Normals can be visualized by toggling the Draw Normals entry in the context menu and it is possible to apply a color coding of normal directions by toggling Color with Normals.

Different point cloud visualization options

Different rendering options for a point cloud. From left to right: Material Mode Texture, Material Mode Uniform, Color with Normals activated, Draw Normals activated

For “dense” point clouds it is possible to visualize the camera position the point cloud was captured by setting Visualize Camera from the context menu.

Furthermore there are options for displaying point ID numbers (Show Point Ids) and have the points connected in order of their IDs (Draw Lines).