Edit this page

NA-MIC Project Weeks

Back to Projects List

Multi-material meshing with Slicer for orbital fracture repair FEM simulation

Key Investigators

Project Description

Creating a volumetric mesh is essential for FEM simulation. However, meshing for orbital tissue with fracture is challenging due to multiple thin structures confined in a bony orbit, low CT contrast, and presence of trauma. To ease the process, we prepared a unified multi-material mesh for orbital tissue to avoid dealing with tissue boundaries. We are currently training a preliminary model using MONAI-nnUNet for orbital tissue segmentation using 13 specimens, each of which augmented to 5 additional volumns using TorchIO. We then created a unified orbital tissue segmentation, converted to a surface model, and created a tetrahedral mesh using gmsh. Sub-tissue regions were then selected in SOFA using specific tisssue surface models. Overall, though much easier than creating multiple tissue meshes, this step still requires many manual steps, including segmentation refinement and surface model downsampling and uniform remeshing, in Slicer and gmsh. Furthermore, due to the coarseness of interior tetrahedra, the selected tetrahedra could not accurately reflect internal tissue geometry, creating errors in tissue geometry tracking in simulation. Mesh refinement was used to create finer elements at interior tissue surface but it led to a over-detailed mesh with too many elements.

Objective

  1. Imporve nnUNet modeling training for orbital segmentation
  2. Streamline mesh preprocessing in Slicer and create a reproducible, standardize segmentation-to-meshing recipe.
  3. Improve mesh refinement to balance geometric accuracy and mesh size.

Approach and Plan

  1. Explore how to construct better TorchIO image augmentation effects for improving model training.
  2. Improve thin orbital bone segmentation
  3. Explore gmsh and alternative toolkits for mesh size control and refinement
  4. Explore using AI agent to streamline and standardize segmentation-to-meshing workflow.

Progress and Next Steps

Using claude slicer-skill https://github.com/pieper/slicer-skill to create a prompt to streamline a segmentation to meshing workflow. Overall it took me five hours.

Initially, I tried to teach it step-by-step. Giving sample outcomes from my own manual preprocessing as ground truth helped.

Steps:

  1. Create a combined orbital tissue segment from individual segments
  2. Create a 0.5 mm gap between tissue segment & bony orbit: expand the skull by 0.5mm and subtract tissue segment from it
  3. Smoothing the segment, fill all internal holes, and removing isolated voxels.
  4. Convert combined orbital tissue segment to a surface model and downsample + uniform remesh it to about 1.5k pts
  5. Using a customized gmsh script to do the meshing. Redo surface remesh and/or gmsh spacing set up until getting around 10 to 15K tetrahedra.
  6. Convert individual tissue segments to models with <1k pts for MeshROI tet selection in SOFA

image

https://github.com/user-attachments/assets/233a780e-c723-4821-a830-ee283b6d458a

Screenshot from 2026-06-25 16-44-44 Screenshot from 2026-06-25 16-48-19

In the end, it produced a prompt and a script for segmentation and Surface Toolbox effects for reusing.

Screenshot from 2026-06-24 23-44-17

I also had to constantly monitor the “thinking” process in case Claude did extra unncessary steps:

Screenshot from 2026-06-25 00-25-56

Screenshot from 2026-06-25 16-46-15

Illustrations

image

Segmentation using a preliminary nnUNet model trained via MONAI
image image

Create a combined uniform tissue segmentation and convert into a surface model
image

Convert into a tetrahedral mesh (15k nodes in this case)
image

Assign different material properties in SOFA using surface models: globe, muscles, optic nerve, and orbital fat
image image

Further refinement by creating finer elements near tissue surfaces
image

No response

Background and References

No response