3D Mesh Cleanup Tutorial: Fossil Plant Cupule (Beginner)

Elizabeth G. Clark, Kelsey M Jenkins, Craig R Brodersen

Published: 2023-03-21 DOI: 10.17504/protocols.io.j8nlkwyywl5r/v1

Abstract

This protocol details 3D mesh cleanup tutorial of fossil plant cupule (Beginner).

Attachments

Steps

Part 1: The Meshlab Interface

1.

Open Meshlab and import “Cupule before.obj” into Meshlab via File > Import Mesh . Alternatively, drag the file into the project window (the large purple box with the crosshairs) if using Mac.

1.1.

Keep the “unify duplicate vertices” box checked .

Note
The 3D object file is made of a series of polygons. The polygons themselves are called the “faces,” and the points making up the corners are points called “vertices.” This is known as a mesh: a 3D object comprised of a series of faces and vertices. The 3D object file we imported is our fossil cupule represented digitally as a 3D mesh.

2.

The mesh now appears in the project window. You can rotate it by holding left click and dragging the cursor.

Note
When the file is imported, three new menus appear on the right. The top menu lists the objects that are in the scene. The center menu lists attributes of the object. The bottom menu keeps a history of commands performed.

3.

Try repositioning the mesh .

Note
On a Mac, this is done by holding the command key, holding the left mouse button, and dragging the mesh. On PC, hold ctrl and the left mouse button.

4.

Turn the visibility of the object on and off by clicking on the eye icon in the top right menu .

5.

Zoom in by scrolling with the wheel of a mouse, swiping with two fingers (on a Mac trackpad), or holding down shift and left click (in both Mac and PC) while moving the cursor up and down.

Part 2: Shrinkwrapping the Mesh

6.

Create a new, simplified mesh over the surface of the cupule. This is known as “shrinkwrapping.” Shrinkwrapping the mesh smooths the surface and patches holes. Performed by isolating the vertices that make up the external structure of the cupule and using them to make a new mesh layer.

6.1.

The first step is to hollow out – or remove the faces and vertices - from the inside of the mesh. The program will label which faces and vertices are inside the cupule and which are on the surface by clicking Filters > Color Creation and Processing > Ambient Occlusion .

Note
This filter colors the internal mesh parts dark and the internal mesh parts white.

7.

Click Apply on the pop-up menu. All other settings can remain as default.

8.

Next, select the dark mesh components by clicking Filters > Selection > Select by Vertex Quality .

9.

This selects mesh components with greyscale values within a set window. Select the darkest values, since these are the components located on the inside of the mesh.

10.

To do this, set the “Min Quality” value to 0 .

11.

Next, check the “Preview” box , and a preview of the selected mesh components within that greyscale window will be highlighted in red.

12.

Zoom in and explore the view of the previewed selection inside the object.

12.1.

Toggle the “Max Quality” slider until most of the inside components are selected.

12.2.

Then, zoom out to view the external surface of the object. The goal is to set Max Quality to select the lowest number of faces on the outside while selecting the highest number on the inside: Max Quality was set to 0.188304 in this example. Once you have achieved this balance, hit “Apply.”

13.

Select “Delete Selected Faces and Vertices” on the right of the icon-based menu towards the top of the screen. This will delete the faces and vertices in red selected in the previous step, leaving a shell of the original mesh.

14.

Note
Meshlab does not have an undo function; periodically creating a duplicate of the current mesh is a good way to save a checkpoint.
To do this, Right click the mesh in the top menu > Duplicate Current Layer .

15.

Click the eye in the top row to hide the original mesh. The eye will appear closed, indicating the layer is not visible. Click the second row to select the new mesh, since any commands performed will be done on the active selection.

16.

To remove all of the faces of the mesh , select Filters > Selection > Select All or press command + shift + A (Mac) or ctrl + shift + A (PC).

17.

A pop-up menu will appear. Keep both boxed selected. Select “Apply”.

18.

Delete all mesh faces by selecting “delete faces” icon in the icon-based menu :

19.

Next, the outer vertices of the cupule will be used to create a new mesh using a screened Poisson (Kazhdan and Hoppe, 2013).

Go to Filters > Remeshing, Simplification and Reconstruction > Surface Reconstruction: Screened Poisson .

20.

Check the “pre-clean” box , which removes any defects in the mesh that would keep the filter from working.

  • Click “Apply” in the popup menu. A new layer named “Poisson mesh” will appear in the righthand menu.
  • Click the eye of your previous mesh to view the poisson mesh by itself .
21.

The “Reconstruction Depth” ranges from 1-12, with default value as 8. To see what different reconstruction depths look like, re-select the second layer in the object list, “Cupule before,” and run the filter again with a reconstruction depth value of 4 and 12 .

Note
Toggle between viewing the new Poisson meshes on the right top menu by opening and closing the eye icon for each mesh. You will see that a higher reconstruction depth value preserves more detail, while a lower value applies more smoothing.

22.

To rename a layer, Right click the layer > Rename Current mesh > rename the mesh > Apply.

23.

Select the poisson mesh with the reconstruction depth of four and rename this mesh “Cupule remesh”.

Note
It might seem counterintuitive to select the mesh with the lowest resolution. However, most of the ridges, bumps, and holes in the original mesh, captured by the poisson remeshes with reconstruction depth of 8 and 12, were preservational artifacts or consequences of CT segmentation. In certain cases, building a mesh that averages out these elements and captures the general shape of the object is appropriate.

24.

Note
The mesh is blocky due to the low number of polygons and relatively large size of each. There are a few ways to remedy this.
First, apply another poisson remesh on top of the current poisson remesh. This time, set the Reconstruction Depth to 12. ( Filters > Remeshing, Simplification and Reconstruction > Surface Reconstruction: Screened Poisson > Reconstruction Depth = 12 > Apply ).

25.

Next, select Filters > Remeshing, Simplification and Reconstruction > Subdivision Surfaces: Butterfly Subdivision .

Note
This filter divides the polygons to increase the number comprising the mesh. Each application makes the surface appear smoother, but also exponentially increases the file size. As such, the filter should be applied the minimum number of times to create a smooth surface. In this example, the filter was applied twice.

26.

Once the reconstruction is complete, export the new mesh by selecting File > Export Mesh .

  • Select .stl as the file type.

推荐阅读

Nature Protocols
Protocols IO
Current Protocols
扫码咨询