LIS Pro 3D Tutorials

Structural Geology - Data Preparation

< Previous section    Next section >

For our analyses, the data must be prepared carefully to ensure that all required information is available. In particular, we need a mapping between each point and its corresponding scanner position. This mapping is later used for correct surface normal orientation, as it allows us to determine whether a normal vector points into the rock mass (for example on vertical or overhanging sections) and therefore needs to be flipped to point outward.

The scanner position layer contains two attributes: an identifier (Id) for the scan position (1–3) and the elevation (Z).

The attributes of the scanner position point layer.

The point clouds themselves only contain the scan position identifier in their filenames. We therefore use the “Add Input Identifier” option of the “Merge Point Clouds” tool to assign a unique identifier to each point while merging the three scans into a single point cloud dataset. The identifier value is incremented automatically for each input point cloud starting from the specified initial value, which means that the order of the input point clouds is important. Add them exactly in this order: scan_1, scan_2, scan_3.

Enable the “Add Input Identifier” option. The “Delete Input” option removes the three input point clouds after merging in order to free memory resources.

Tool: Merge Point Clouds
GeoprocessingShapes → Point Clouds → Tools   //    ToolsShapes → Point Clouds

Parameter Setting
Data Objects
Point Clouds
>> Point Clouds 3 objects (scan_1, scan_2, scan_3)
<< Merged Point Cloud <create>
Options
Delete Input 🗹
Add Input Identifier 🗹
   Start Value 1

We now have a single point cloud dataset containing a new attribute that maps each point to its corresponding scanner position (1–3).

Because the dataset combines scans acquired from three different positions, the point density varies throughout the point cloud. In areas where scans overlap, the data is oversampled. To achieve a spatially uniform point density and ensure consistent results in subsequent analyses, we therefore perform a data homogenization step.

For this purpose, we apply a 3D block thinning operation that retains the point closest to the center of each voxel. For this tutorial, and to keep the dataset size manageable, we use a voxel size of 3 × 3 × 3 cm.

Tool: Block Thinning 3D
GeoprocessingLIS Pro 3D → Thinning → Point Cloud   //    ToolsLIS Pro 3D → Thinning

Parameter Setting
Data Objects
Point Clouds
>> Point Cloud Merged
   Filter Attribute <not set>
<< Point Cloud Thinned <create>
Options
   Copy existing Attributes 🗹
Method Thinning nearest
Horizontal Spacing 0.03
Vertical Spacing 0.03
Point Count Filter
Method Baseline lowest point
Note

A more sophisticated thinning strategy could be based on the laser beam incidence angle, since high incidence angles generally result in larger positional errors. The incidence angle can be computed using the “Point Cloud Accuracy Estimation” tool. The 3D block thinning could then be performed using the “min(attribute)” method, retaining the point with the lowest incidence angle and therefore the highest positional accuracy within each voxel.

Please rename the output point cloud (“Merged_thinned”) to “rock_face” or another meaningful name. You can now close the unthinned point cloud dataset to free memory resources if desired. Save the “rock_face” point cloud to disk.

As a final preprocessing step, we establish the mapping between each point and its corresponding scanner position and create a “direction-to-scanner” attribute for every point. This attribute stores a unit vector pointing from each point toward the scanner position from which it was acquired.

Because this is a three-dimensional vector, three separate attributes are created, one for each vector component (x, y, and z). These attributes will later be used to orient surface normal vectors correctly.

Open the “Map Point Cloud to Scanner” tool. For the “Method” parameter, select “Point Source ID”. This option allows you to use the scan position identifier attributes for establishing the mapping.

Tool: Map Point Cloud to Scanner
GeoprocessingLIS Pro 3D → Tools → Point Cloud   //    ToolsLIS Pro 3D → Tools

Parameter Setting
Data Objects
Point Clouds
>> Point Cloud rock_face
   Point Source ID ID
< Point Cloud <not set>
Shapes
>> Scanner Position(s) scan_positions
   Point Source ID Id
   Z Z
Options
   Copy existing attributes 🗹
   Attribute Suffix
Method point source id
Direction to Scanner 🗹
Position of Scanner
Range to Scanner
Polar Angle
Azimuthal Angle

The point cloud dataset is now ready for the subsequent analysis steps. Please save the data again.

The attributes of the preprocessed point cloud.

Finally, we can inspect the point cloud in 3D using the Point Cloud Editor tool. Provide the intensity, RGB color, and ID attribute fields to enable switching between different colorizations using the keyboard shortcuts.

Tool: Point Cloud Editor
GeoprocessingLIS Pro 3D → Point Cloud Editor   //    ToolsLIS Pro 3D → Point Cloud Editor

Parameter Setting
Data Objects
Point Clouds
>> Point Cloud rock_face
   Intensity intensity
   RGB rgb color
   Shading <not set>
   Classification <not set>
   Random ID
   Normal Vector (X) <not set>
   Report Attribute 1 <not set>
   Report Attribute 2 <not set>
Grids
> Elevation Grids No objects
> Color Grids No objects
Shapes
> Shapes <not set>
Options
Work on Copy of Point Cloud
Background Color #3C3C32

The point cloud visualized in true color (keyboard shortcut “3”).

The point cloud visualized using intensity values (keyboard shortcut “2”).

The point cloud colored by scan position (random colors, keyboard shortcut “q”). This view allows us to distinguish points originating from the three different scan positions.

< Previous section    Next section >