Download | Documentation | Contact
Authors: George H Allison1,2
Affiliation: 1 INSIGNEO Institute, University of Sheffield, United Kingdom; 2 School of Mechanical, Aerospace & Civil Engineering, University of Sheffield, United Kingdom
Contact: GHA (Email | LinkedIn), Dr X. Li (Email)
This tool was developed in the IMSB group at the Insigneo Institute at the University of Sheffield, UK. Please visit the Insigneo Institute GitHub page for more information on other projects and research.
If you use this software in your research, please cite the LUMA citation file.
The tool is heavily inspired by previous work done by:
For more information, please see the LUMA Documentation.
LUMA is a rust tool, designed to assign bone material properties to finite element meshes based on CT scan data. It provides:
- High Performance: Sub 2-minute processing on a 2 million line mesh file (in our testing, your milage may vary.)
- 3D Visualisation: Interactive web-based material distribution viewer
- Mesh Transformation: Built-in rotation and translation for CT alignment
- Advanced Integration: Multiple integration schemes with adaptive accuracy
- Wide Format Support: Abaqus (.inp), ANSYS (.cdb), VTK, NRRD, NIfTI, and DICOM formats
- Parallel Processing: Multi-threaded material assignment with progress reporting
Note
It is strongly recommended to use the pre-compiled binaries for your platform. Building from source is targeted at developers who want to contribute to the project or need to modify the source code.
For more information on installation, please see the Installation Guide.
The compiled installers are available in the release
cargo build --releaseSee the commands with LUMA's help flag:
luma -hluma --params example_parameters.toml --ct example_ct_data.vtk --mesh example_mesh.inpluma --visualise align --ct scan.vtk --mesh bone.inpluma --visualise processed --params parameters.toml --ct scan.vtk --mesh bone.inpluma --params parameters.toml --ct scan.vtk --mesh bone.cdb --rot 180.0 0.0 0.0 --trans 0.0 0.0 10.0The core functionality assigns material properties to finite element meshes based on CT scan data through a multi-step pipeline:
- CT Data Processing: Load CT data from VTK or DICOM files
- Mesh Loading: Parse Abaqus (.inp), ANSYS (.cdb), FeBIO (.feb), or VTK (.vtk/.vtu) mesh files
- Spatial Integration: Sample CT values within each finite element
- Material Property Calculation: Convert Hounsfield units to material modulus
- Material Grouping: Group similar elements into material sets
- Output Generation: Write material assignments to output files
frontend/
├── components/ # Javascript components for UI functionality
├── styling/ # CSS files for UI styling
├── favicon.ico # Icon
└── index.html # Main html script for creating UI
src/
├── lib.rs # Main library interface
├── main.rs # Command line application
├── export/ # Output file generation
│ ├── abaqus_inp.rs # Abaqus .inp output
│ ├── ansys_cdb.rs # ANSYS .cdb output
| ├── febio_feb.rs # FeBIO .feb output
│ └── model_vtk.rs # VTK model file output
├── mesh/ # Mesh file parsing
│ ├── abaqus_inp.rs # Abaqus .inp parser
│ ├── ansys_cdb.rs # ANSYS .cdb parser
│ ├── febio_feb.rs # FeBIO .feb parser
│ └── model_vtk.rs # VTK model file parser
├── integrate/ # Integration methods
├── params/ # Parameter file parsing
├── visualise/ # 3D visualisation
│ ├── mesh_visualiser.rs # Creates visualisation
│ └── web_viewer.rs # Spawns UI for visualisation
├── volume/ # CT data handling
│ ├── image_dicom.rs # DICOM image parsing
│ ├── image_vtk.rs # VTK image parsing
│ ├── image_nifti.rs # NIfTI image parsing
│ └── image_nrrd.rs # NRRD image parsing
This software has been designed for research purposes only and has not been reviewed or approved by medical device regulation bodies.
This software is not to be used alone or in combination, for human beings for one or more of the following specific medical purposes:
- diagnosis, prevention, monitoring, prediction, prognosis, treatment or alleviation of disease.
- diagnosis, monitoring, treatment, alleviation of, or compensation for, an injury or disability.
- investigation, replacement or modification of the anatomy or of a physiological or pathological process or state.
- providing information by means of in vitro examination of specimens derived from the human body, including organ, blood and tissue donations.
AGPLv3 or later
Copyright (C) 2025 George Allison
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
This project was inspired by py_bonemat_abaqus by Elise Pegg currently of Newcastle University and Richie Gill currently of University of Bath. And the work of Istituto Ortopedico Rizzoli in Bologna, Italy, particularly the work of the Bonemat and ALBA teams.
1: Pegg EC, Gill HS. py_bonemat_abaqus GitHub Repository. (2016). LINK
2: Pegg EC, Gill HS. An open source software tool to assign the material properties of bone for ABAQUS finite element simulations. J Biomechanics. In Press. (2016). DOI
3: Schileo E, Pitocchi J, Falcinelli C, Taddei F. Cortical bone mapping improves finite element strain prediction accuracy at the proximal femur. Bone. (2020). DOI
4: Helgason B, Taddei F, Pálsson H,. et al. A modified method for assigning material properties to FE models of bones. Medical Engineering & Physics, Volume 30, Issue 4, Pages 444-453. (2008). DOI
5: Taddei F, Schileo E, Helgason B,. et al. The material mapping strategy influences the accuracy of CT-based finite element models of bones: An evaluation against experimental measurements. Medical Engineering & Physics, Volume 29, Issue 9, Pages 973-979. (2007). DOI
6: Taddei F, Pancanti A, Viceconti M. An improved method for the automatic mapping of computed tomography numbers onto finite element models. Medical Engineering & Physics, Volume 26, Issue 1, Pages Pages 61-69. (2004). DOI
7: Zannoni C, Mantovani R, Viceconti M. Material properties assignment to finite element models of bone structures: a new method. Medical Engineering & Physics, Volume 20, Issue 10, Pages 735-740. (1999). DOI
8: Crimi G, Vanella N, Schileo E, Valente G, Fraterrigo G, Taddei F. ALBA: Agile library for biomedical applications. SoftwareX, Volume 31, Pages 102188. (2025). DOI
9: Eggermont, Florieke and Verdonschot, Nico and van der Linden, Yvette and Tanck, Esther. Calibration with or without phantom for fracture risk prediction in cancer patients with femoral bone metastases using CT-based finite element models. PLOS ONE Volume 14, Number 7. (2019). DOI