OR/15/057 Appendix 2 - Split-FX user guide
|Jones, L D. 2015. Ground-based geomatic surveys at the BGS - a manual for basic data collection & processing (2015). British Geological Survey Internal Report, OR/15/057.|
Extraction of structural data from point clouds derived from TLS
D Boon (October 2011)
This documents serves as a quick start up guide aimed to walk you through the basic steps required to measure planes -e.g. Dip and Dip Direction from a TLS derived point cloud using Split-Fx (developed by Split Engineering Version 2.1.0). This guide assumes a working knowledge of RiProfile/RiScanPro, the Riegl TLS operation procedure and processing software (see Jones, 2009. IR/09/050).
Stage 1 — Import point cloud
Before you import you first need to export the point cloud from RiProfile:
- Point clouds can be exported from RiProfile project as an ASCII. Comma delimited with the format x,y,z,r,g,b maintains the colour from images information and greatly aids visual interpretation of the structures to be measured when defining patches.
- If not already done so, in RiProfile, filter the scans (v1.6.2) to create a single point cloud (polydata).
- Then right-click on the PolyData object in Project Manager Window and select ‘export’ (Figure 1). A box should appear (Figure 2). Select the ASCII option and click ‘OK’. Another box will open (Figure 3). In the General Settings heading select the GLCS option. If your project has not been geo-referenced select the project system. Also select x,y,z and r,g,b for the file format to preserve colour information in the point cloud. Save the ASCII to the SPLIT FX folder on the E drive or backed-up Local Server.
If you have no dGPS data for the scanner positions or known survey markers in the scans then you cannot orient and register the point cloud. You don’t necessarily need to dGPS the scan so long as you measured the azimuth of the scanner in the field (with a compass, and the scanner set to ‘park position’). However it is ‘good practice’ to survey the scanner locations or markers to enable accurate geo-referencing of point clouds.
- Now save and close your RiProfile project. Check that the ASCII.txt file actually saved out. Open it (e.g. in Notepad) and resave a copy with file extension ‘.xyz’. This extension is enables Split-FX to read the point cloud file.
- ‘Fire up’ Split Fx. (At time of writing, Oct 2011, we were using Split-FX64 2.1.0 running on Windows7)
- Select ‘New’ icon to open a new ‘Region’. Next click ‘file’, ‘open’ and browse to where you saved the ASCII. You should see the .xyz file. Select it and click ‘OK’.
You need to inform Split-Fx what file structure your ASCII has so it can read the file correctly. The data from the ASCII (.xyz) is shown in the ‘sample text’ window. In the ‘content column’ double-click on a field (currently set to ‘ignore’ field). Change the field from ‘ignoor’ to the appropriate field (e.g. X, Y or Z) by selecting from the drop-down list. Repeat this action to correct all the fields one-by-one.
- If you are opening a large point cloud (e.g. >150MB) then you may need to wait for a minute, and then your point cloud should appear, in full RGB glory, encompassed by a ‘bounding box’, in the black window (Figure 4).
TIP: Mouse operation: Holding the right mouse button down allows free rotation and tilt of the model, holding the right button down allows panning, and scrolling the mouse wheel will zoom in and out.
Stage 2 — Create MESH (TIN)
The Brown Box: You will notice a ‘brown box’ with a long arm and a short arm shown in Figure 5. This depicts the ‘scanner orientation’. It defaults to the long arm aligned due north, along the y-axis. The short arm points upwards.
- The surface meshing operation uses the scanner orientation to bias triangle formation. Therefore, you may need to adjust the ‘scanner orientation’ to optimise the mesh generation. The ideal ‘scanner orientation’ is where the long arm is orientated perpendicular to the discontinuity face(s) you wish to measure, thus creating mesh triangles that lie flat/flush with the real surface and that do not bridge erroneous points. You can delete individual triangles. This is why it is best to import a cleaned point cloud containing just the points that define structures of interest (i.e. no vegetation).
- You can delete unwanted points before meshing by activating the ‘mouse mode tool’ then digitising a box. The box draws relative to the viewing direction so be careful to only delete points you want to. Selected points are coloured red. Then press delete. Clear a selection by ‘Edit’ in the main tool bar then ‘clear selection’. ‘Save’ to save the clean point cloud.
- To adjust the scanner orientation, first manually rotate the model (with mouse) so that you are looking directly on to discontinuity surfaces that you want to measure (perpendicular to the plane of the surface or the ‘pole’). Then select ‘Orientation’ then ‘Scanner Orientation’. Select the ‘Modify the scanner position to match the current view orientation’ option.
Note that the azimuth and dip of your current view direction is displayed in the box. ‘OK’ this and note how the ‘Brown Box’ in the 3D window has changed its pointing direction. The long arm should now be pointing directly at the surfaces you are interested in measuring plane on. You do not need to add a Note this action does not change the referencing of the points (if they are geo-referenced in a Global or Local project coordinate system).
- When the point cloud has been edited and is ready to be meshed go to ‘Point Cloud’ in the main tool bar then select ‘Create Mesh’. A box will appear as shown in Figure 6. You can control the size of triangles in your mesh. Recommended starting point spacing is 0.15m. Point spacing will depend on the resolution of the scan relative to the scale and roughness of surface you want to measure. Select ‘OK’ and the mesh will generate. Visually inspect the mesh to see if the triangle size is fine enough to represent the detail of the rock surface. You can toggle the point cloud or mesh on and off and rotate the model to aid visual comparison.
Stage 3 — Define patches and display in a Stereonet
- A ‘patch’ is effectively a polygon that defines a selection area for triangles with common orientations. If your mesh represents the rock surface realistically then the triangles will be orientated close to the orientation of that planar structure (e.g. bedding, fault, joint, cleavage, cliff/cutting face. Patching enables a large number of triangles (dependent on your triangle size) to be analysed and therefore allows statistical analysis of all triangle orientations and so statistical based determination of the orientation of a plane.
- Patching can be carried out in either a semi-automated way or completely manually. If you want to measure the orientation of a specific surface in the model then adding a patch manually offers the most freedom and is quickest, though introduced subjective judgment. If you wish to analyse the entire rock face to objectively assess how many discontinuity sets can be recognised then the semi-automated approach may be more appropriate.
To define patches click in to the 3D region (to activate the full toolbar options), click on ‘Point Cloud’ on the main tool bar, then ‘Find patches’. Wait a moment for patches to calculate. Then toggle off the points to reveal the patches, defined as blue polygons as shown in Figure 7.
- To see the patches plotted on a stereonet (i.e. the measured discontinuity plane) click ‘Region’ then chose ‘StereoNet View’. A stereonet will appear in a new Region as in Figure 8.
Note that you can change the symbols and display planes as circles or poles. To change stereonet settings right-click within the stereonet view region and a box will appear labelled ‘stereonet properties’.
- To manually measure the orientation of a plane you must define a new ‘patch’ to cover the surface you wish to measure.
- A patch is constructed from nodes (points) and lines connecting the nodes. The nodes can be manually edited (moved or deleted) or new nodes inserted to density lines.
- Entire patches can be deleted by selecting the patch in the 3D region with the mouse mode activated. When selected patch will become highlighted (Figure 8). Hover over a node and right click to delete or insert points (nodes).
To measure a plane you must define a new patch. Change the display to just mesh or combined mesh and points so you can see what you are digitising. From the main tool bar select ‘Insert’ then choose ‘Patch’. The curser will change from an arrow to a cross hair and you are in draw mode. Define the area of patch by digitising onto the surface with right clicks defining nodes. Left click to finish the sketch and the polygon joins automatically. You should see the new plane display in the stereonet view (Figure 9). Measure the poles by hovering your mouse over the stereonet and noting the values in the very most bottom left of the main Split-Fx window. Remember that if you hover over a ‘pole’ you are reading off a pole orientation, so if you want to measure the plane (e.g. bedding: dip, dip direction) you need to convert the pole to a plane orientation.
TIP: Minimise the Stereonet View region to see your point cloud in 3D view. Alternatively view all active regions by ‘Window’ then ‘Tile’.