Tutorials

Video tutorials can be found in our YT YouTube channel.

This is an application-based manual for the GigaMesh Software framework. It shows basic processing steps typically and also very often used within our projects. Many of the steps can be combined for more advanced tasks. Theoretical concepts can be found in the publications section. For earlier versions of the manual click here.

Topics found in the manual:

03. Mesh Cleaning

These methods are additionally demonstrated within the video tutorial for first steps on YoutTube, published having the DOI:10.11588/heidok.00024463 being available for download at heiDOK.

3.1 Automatic Mesh Cleaning (GUI)

Mesh cleaning using the Graphical User Interface (GUI) consists of several steps that can be executed separately. The easiest and often satisfying approach is Edit → Automatic Mesh Polishing. It removes outliners, zero area vertices etc. and fills holes. The slider is the threshold of the size of unconnected parts of the mesh to be deleted. Default is 10%, everything that is smaller than 10% of the largest part of the mesh will be deleted. Preventing the longest polyline from getting filled makes sense with incomplete scanned objects, e. g. vessels with an unscanned interior or stationary structures where it is not possible to scan all sides. It is recommended but not necessary to store the result as a new file.

The second most common method is choosing Edit → Remove Unclean/Small, which performs the exact same cleaning tasks, but does not fill any holes. Bot methods can be quickly accessed using the toolbar buttons.

Toolbar buttons for automatic mesh cleaning

Figure 3.1: Toolbar buttons for automatic mesh cleaning.

3.2. Automatic Mesh Cleaning for multiple Files (command-line)

The command-line program 'gigamesh-clean' supplied within the packages can perform the same cleaning and polishing methods like the menu entries Edit → Automatic Mesh Polishing and Edit → Remove Unclean/Small as well as their corresponding buttons within the toolbar.

Open a terminal and navigate to this folder e.g. by typing cd Documents/FolderWith3Ddata. Then type gigamesh-clean plus the names of the files to be processed. The command also accepts filenames with wildcards. A typical call is gigamesh-clean *.ply to clean all files in Stanford Polygon format. Note, that wildcards are case-sensitive and you may have to try gigamesh-clean *.PLY. For entering single filenames and navigating folders the command-line completion is very usefull.

For each input file, the output consists of one file having the same name like the input file having the suffix ''_GMC.ply'' or ''_GMCF.ply''. This indicates GigaMeshCleaned or GigaMeshCleandandFilled depending on the choosen option.

For the options available of the command-line program type gigamesh-clean --help. There are several choices similar to the options presented by the GUI.

3.3 Manual Mesh Cleaning

For a more selective cleaning of the mesh some steps have to be done manually. To remove only selected parts of the mesh, choose Labeling → Label - All Vertices / SelMVerts. When asked, is not necessary to set the label step number as function value. Every part of the mesh that is not connected to others gets now a Label ID. Hold ctrl and click on the object. In the left side bar, the Label ID of the selected vertex and its connected components is shown, usually 1 for the largest. To keep this and delete and all parts that are unconnected to it, choose Select → Vertices - SelMVerts - by Value/Type → Vertices - Label No. Insert the Label ID(s) to select (e. g. 1) or leave unselected (e. g. -1). The selection may also be inverted via Select → Vertices - SelMVerts - Invert selection. If more than one element should be selected, leave a space between the label numbers (e. g. 1 2 3 5). When everything unwanted is selected, choose Edit → Remove SelMVerts.

The further manual cleaning operations are Select → Faces - Sticky and Edit → Remove - SelMVerts. Select → Faces - Non-manifold and Edit → Remove - SelMVerts. Select → Faces - Zero Area and Edit → Remove - SelMVerts.

These steps are included in the Automatic Mesh Polishing application.

Filling Holes can be separately done by choosing Analyze → Mesh Borders to Polylines and Edit → Fill Holes (PSALM).

3.4 Polygonal Selection

Another option to manually delete parts of the mesh (e. g. parts that belong to a label number that should be kept) is to choose Select → Primitive - Polyline. Hold ctrl and click in the workspace to create a polyline (shown in red). Click with the right mouse button to set the last point and close it. In the left side bar, the number of selected vertices (SelMVerts) is displayed. The selected vertices may be deleted by Edit → Remove SelMVerts.

3.5 Reopen filled holes

If there are some holes in the mesh that should not have been filled, choose Select → Faces - with Synthetic Vertices. Then the selection mode has to be set to multiple Vertices (SelMVerts), which can be selected by the toolbar button or Select → Vertices - SelMVerts - GUI - Pinpoint. Then hold ctrl and click with the left mouse button on the synthetic areas marked in orange to select the mesh parts, which should be reopened. A green star appears for each selection. Finally use Edit → Remove filled Holes (SelMVerts) to delete the filling.

The procedure is also demonstrated in the first video tutorial on YoutTube at 5:48.