Is it possible to do a segmentation of the lumbar spine from CT-data and use the 3D model (.igs) for further finite element analysis in ABAQUS or FEBio?

The main issue is that you have chosen to enable “Create shell” and chose thickness that is comparable to your voxel size.

If the goal is finite-element analysis then a shell is not a good model, so do not enable “Create shell” option.

You will get material IDs (corresponding to segment indices) when Segment mesher module creates a volumetric mesh using Cleaver2. You can also add CT density values to the volumetric mesh using Probe volume with model module.

Your FEM software can use these additional scalar values in your mesh to set material properties. I don’t know which FEM package can read VTK unstructured grids and which can use material IDs or density values stored in cell scalars, but you can ask their developers and report back to us what you learned.

Thank you very much for your help. I finally created a volumetric model of the vertebra with the following adjustmens:

  1. Wrap solidify module -> Carve holes: 1mm
  2. Smoothing -> Closing(fill holes): 1mm
  3. Gaussian Filter: 1mm
    The result looks like that:

but the problem now is, if I want to mesh it, I get a very edged and reduced model. I tried different paramaters and this seems the best (but still not good enough): scale= 3; multiplier=1; grading=5

Any idea, what I am doing wrong or what I should improve?

This looks really nice. Your volumetric mesh resolution looks very good, too, but of course you may want to adjust the mesh depending on what you want to model (heat transfer, mechanical stresses, etc.) and where.

Note that computational mesh does not have to be as high resolution as the visualization mesh. It would result in unnecessarily complex mesh, leading to very long computation times and robustness issues. Computational mesh surface does not have to be smooth either, except in special cases (such as when you are specifically interested in modeling surface contacts). Once the computation is complete, you can transfer displacements or other computed values over the visualization mesh.

What kind of modeling do you plan to do?

Thank you very much, without your help, I would not get so far!

I would like to model the lumbar spine (later also a osteoporotic one, if possible) with all necessary components such as intervertebral discs etc. and include pedicle screws and rods to calculate the stress distribution.

For these probably the current resolution is good. If you insert a rod then the mesh resolution will be automatically increased around the hole. I think you can also specify spatially varying mesh resolution with an image (it is called “field” in Cleaver). We don’t expose this option in Segment Mesher user interface, but you can specify additional command-line parameters.

is FeBIO a open source software for student?

Yes, it is open-source and free, even for commercial purposes.

1 Like

It worked for meshing method cleaver but not with TetGen in FeBIO Studio.
Failed reading file:
ERROR: Only float data type is supported for POINT section.
How to sovle this problem. What I am doing wrong.

I would recommend to post this as an issue on the FeBIO Studio project page:

1 Like

4 posts were split to a new topic: Exporting segmentation to Abaqus

Thank you very much!
Unfortunately it does not work and I get this error:
Traceback (most recent call last):
File “”, line 1, in
NameError: name ‘pip_install’ is not defined

You need to use latest Slicer Stable Release.

Hi everyone

  1. I have created a volumetric mesh from a mandible segmentation (photos). However It was necessary to change the parameters to visualize all parts of the mandible (compare the 2 photos) I have changed the values but acctually I dont know which one represents. ( the new parameters scale 0.8, multiplier 1, grading 5. Could someone explain? To perform analyses of strees distribution what are the best parameters?

  2. Regarding the mesh created: As the SCALE parameter increased the surface of the volumetric mesh has changed (more triangles). I would like to know if it could interfere when the file is exported? Manly if it can interfere in the FEA analysis

  3. How can I change the geometric shape from triangles to tetahedral shape?

  4. I have read the answer above but I was not able to understant: How can I set material properties in 3D slicer. Could someone send some prints or at least a short tutorial?


See explanation of all parameters here.

Each analysis is different, you need to determine the parameters that work for you.

It does not interfere with the export. What you see is what is exported. It does not interfere with FEA analysis either - the solver will work whatever mesh you provide. Of course the results will change if you use very large elements and the computation time will be very long if you have many small elements. However, since there is almost no displacement, you can probably vary the meshing parameters in a wide range and you will still get convergence and very similar results.

Volumetric mesh elements generated by Cleaver are already tetrahedral.

You set material properties in the pre-processor of your solver, not in Slicer. What you can do in Slicer is to create separate segments for each material (e.g., cortical bone and cancellous bone are in two separate segments), or assign CT density to each mesh point (using Probe volume with model module) and then use that information in your preprocessor. You can ask details about this on the FEBio forum (or forum of any other solver you use).

Thank you Mr Iasson

See explanation of all parameters [here](GitHub - lassoan/SlicerSegmentMesher: Create volumetric mesh from segmentation using Cleaver2 or TetGen).

I am sorry, unfortunatelly the name of the parameters are different from Slicer, for example the advanced options (where the parameters are) has a different name

  -b [ --background_mesh ] arg       input background mesh
  -I [ --indicator_functions ]       the input files are indicator functions (boundary is defined as isosurface
                                     where image value = 0)
  -z [ --sizing_field ] arg          sizing field path (use precomputed sizing field for adaptive mode)
  -w [ --write_background_mesh ]     write background mesh
  --simple                           use simple interface approximation
  -j [ --fix_tet_windup ]            ensure positive Jacobians with proper vertex wind-up
                                     (prevents inside-out tetrahedra in the output mesh)
                                     This flag is specified by SlicerSegmentMesher module, no need to specify it as additional option.
  -e [ --strip_exterior ]            strip exterior tetrahedra (remove temporary elements that are added to make the volume cubic)
                                     This flag is specified by SlicerSegmentMesher module, no need to specify it as additional option.

I can presume that Slicer uses the Cleaver, but I was not able to identify the name of the parameters in the code above. Could you help me?

or assign CT density to each mesh point (using Probe volume with model module) and then use that information in your preprocessor.

Where can I find this tool? I was looking for in the Models module but I did not find (photo)

Adaptive mesh sizing is essentially controlled by 3 parameters, so you should be able to find which one is which.

Please use latest Slicer Stable Release. It exposes some more parameters, and the GUI contains a bit more explanations.

You can click the search icon in the module toolbar (or hit Ctrl-F) to open the module finder and type probe:

OK! thanks. Just to confirm. About The –scalemultiplier and –grading

Scale: If the value increase the mesh improves? If the value decrease the mesh become more coarser?

Multiplier: What is its function? This tool is used to multiplier the value of the Scale?

Grading: What is its function? If the value increases the mesh become more detailed?

Multiplier (sampling rate) allows you to skip voxels. Equivalent to downsampling the input volume.

Scaling controls overall output mesh element size.

Grading controls how much the output mesh element size are allowed to change throughout the mesh.

You may find the March 15 session of the FunkyMUG user group useful for learning about how to create biomechanical models for FEA.