Cleaning 3D Meshes

By Alejandro Romero

Cleaning 3D Meshes in MeshLab

Total time: ~15 min

The primary use case for MeshLab is cleaning up 3D meshes in a comprehensive environment. Though many 3D modeling software include such features, MeshLab has a more extensive and fleshed-out mesh decimation pipeline allowing for more control over mesh cleaning. One workflow is outlined below.

  1. Open MeshLab and load in the mesh: File → Import Mesh → [Select your mesh]

  2. To clean up your mesh, apply tools in Edit or Filters. Some very useful filters include:

    • Filters → Cleaning and Repairing → Remove Isolated (wrt Diameter)

      • Adjust the max diameter percentage until artifacts are removed.

      • Clean any undesired artifacts smaller than the desired final mesh.

    • Filters → Remeshing, Simplification and Reconstruction → Simplification: Quadric Edge Collapse Decimation

      • Reduce the vertex count of the mesh for reduced file size.

      • Adjust the Percentage reduction parameter to simplify the mesh. Because this is a percentage, it’s helpful to begin with a larger value to be preserved (e.g. 0.8) and work down from there. The current vertex count can be viewed in the bottom right (purple window).

      • Click Apply to simplify the mesh accordingly.

3. To save the final mesh:

    • File → Export Mesh As

    • Select .obj at the bottom of the popup menu and select your desired directory.

4. If your mesh contains unconnected parts that you want to export separately:

  • Make sure the Layer Dialog is toggled on and find your mesh (there should only be one for now).

  • Right-click on the mesh name and click Split in Connected Components in the drop-down.

  • IMPORTANT: If your 3D Slicer OBJ contains a lot of artifacts (they usually do), make sure you followed step 2a. properly. If not, all artifacts will be separated into individual meshes, which may crash the program.

  • Select each separated piece of the mesh and export them individually as described above.

5. Congratulations, you now have a clean, segmented mesh!