NA-MIC / ProjectWeek

Website for NA-MIC Project Weeks
https://projectweek.na-mic.org
82 stars 285 forks source link

Project: Finite element model preprocessing module for computing vertebral failure #1174

Closed ralkalay closed 1 month ago

ralkalay commented 1 month ago

Draft Status

Ready - team will start page creating immediately

Category

Quantification and Computation

Presenter Location

In-person

Key Investigators

Project Description

Finite element simulations of the spine allow insight into the effect of bone metastatic lesions, affecting up to 70% of cancer patients at advanced stages of the disease, on the mechanism of pathologic vertebral fractures that cannot be measured in human subjects noninvasively. However, establishing personalized FE models from clinical imaging is complex and time-consuming, historically requiring manual vertebrae segmentation, creation and optimization of the model's mesh parameters, interrogation of the image data for the application of material models, and applying these material models at the element level. These operations often require expensive commercial applications with little control over the method used and, critically, the ability to extend their capabilities or incorporate new capabilities without significant financial expense.

In collaboration with MIT, our group established a damage-based FE framework to investigate the effect of bone metastatic lesions on the failure and, more recently, the post-failure mechanical response of the human spines in cancer patients. Based on our ongoing collaboration with members of the 3D Slicer community, our group has developed DL models for segmenting human thoracic and lumbar vertebrae in cancer patients and developed scripts for meshing and applying bone modules based on the CT data. We propose to integrate our DL segmentation models, the Gmsh open-source meshing application, work on optimizing our material allocation algorithm, and create a parser for input file for the FE simulations (ABAQUS, MIT-Summit) within an extension framework to enable the complete pipeline (CT-data- FE input model).

Having such an open-source model in 3d Slicer will significantly contribute to the scientific and clinical community for cancer patient research and to studying the effect of vertebral fractures on morbidity not only in cancer patients but also in the elderly populations and surgical outcomes.

Objective

  1. Create an open-source Slicer extension to integrate DL spine segmentation, Gmsh, and our material allocation scripts, allowing the preparation of an input file for FE simulations.
  2. Discuss the possible integration of tools for the DL segmentation of the intervertebral disc and the derivation of disc tissue material models from MR data (DTI) and, finally, assembly of vertebrae-disc models (boundary conditions from our muscle models and joint interactions). Simulations within 3Dslicer😊

Approach and Plan

  1. Discuss the current analysis and management scripts pipeline. Integration of the DL-based masks for generating data for the pipeline. Visualization and optimization options of mesh quality and applied bone modulus. a. The key gap is how best to optimize the mesh-based material allocation, which requires the computation of bone properties at the location of each mesh element.
  2. What issues must be solved for this integration within the extension mechanism? Build an integration plan emphasizing a framework for modularity and code expansion.
  3. Discuss methods of results presentation.

Progress and Next Steps

We follow the following steps:

  1. The element size on the boundary is set manually: in 3DSlicer we use "Surface Toolbox" under "Surface Models" to increase the size of boundary elements in the .vtk file (change the Number of points in Uniform remesh) and save the .vtk file.
  2. We create and save a basic geo file to generate volume out of the .vtk file as below:
    Merge "Model.vtk";
    //+
    Surface Loop(1) = {1};
    //+
    Volume(1) = {1};
  3. We generate optimized 3D mesh using Gmsh by running the following command gmsh $geo_file -3 -optimize -format msh2
  4. For calculating average BMD, we use the concept of shape functions to find which voxels belong to an element, and then we average among the values greater than 0. To do this, first, in 3D Slicer, we find the coordinates of voxels and the HU values. Then, for each element, a voxel will belong to the element if the summation of 4 shape functions at the voxel's location equals 1. For linear tetrahedrons, the shape function of each vortex is the volume of the tetrahedron made with three other vertices and the point. The below figure, for example, shows these volumes for an arbitrary point inside the element. Picture1
    • We are eager to use any other approach for better numerical efficiency.
    • In this approach, each voxel is assessed based on the coordinates of its center. Is there any possibility that one can calculate partial inclusions of voxels in the element? This approach will give us the capability of going to the smaller resolutions.

Illustrations

Graphical abstract

Figure 2: Graphical summary of the intended pipeline..

Background and References

github-actions[bot] commented 1 month ago

Project Page Pull Request Creation

:white_check_mark: COMPLETED: See https://github.com/NA-MIC/ProjectWeek/pull/1175