Skip to main content
zenodoopen

Machine learning based multi-scale remodelling code

<p>This instruction illustrates a machine learning-based multi-scale model to predict bone formation in tissue scaffolds. This code uses neural networks to predict bone formation in synthetic scaffolds. We are sorry that the code is a little bit messy as we are not good at coding. The code can be used to predict bone remodelling results in synthetic scaffolds in a multi-level way. Therefore, it enables to inversely identification of the bone remodelling related parameters from clinical data. In order to run the machine learning-based multiscale bone remodelling program. The following platforms are what you need:</p> <ol> <li>Abaqus v2016/v614</li> <li>Matlab R2020b</li> <li>An Abaqus plugin tool which can be downloaded from&nbsp;<a href="https://github.com/mhogg/pyvxray.git">https://github.com/mhogg/pyvxray.git</a></li> <li>Jupyter notebook with Python 3.</li> </ol> <p>&nbsp;</p> <p><strong>Here is a detailed description of the program</strong>.</p> <ol> <li><strong>demo_example and demo_pearson_opt.&nbsp;</strong>This document provides instructions on running a demo example and a demo example calculating Pearson&rsquo;s coefficient. The necessary functions for running the machine learning-based algorithm are located in the folder &ldquo;demo_example&rdquo;. In &quot;demo_example&quot;,&nbsp;Multiscale_boneRemodelling_ML is the main function to start the program. &ldquo;macro_umat&rdquo; is the user subroutine to pass the homogenized material properties to Abaqus. &ldquo;read_macro_1423&rdquo; is a post-process file to obtain necessary stress/strain data information. &ldquo;Sheep_macro_1423_C3D4.inp&rdquo; is the input file of the sheep tibia scaffold model. Before start, please change line 49 and line 58 of &ldquo;macro_umat&rdquo; file to your current work directory.&nbsp; In &ldquo;results&rdquo; file, the results are obtained by running the demo_program.&nbsp;In &ldquo;demo_pearson_opt&rdquo; file, there are inversely-identified virtual X-ray images and <em>in-vivo </em>X-ray images. The python code &quot;sheep3_6_9_8roi.ipynb&quot; can be found to calculate the Pearson&rsquo;s coefficient between the virtual X-ray images and in-vivo X-ray images. Jupyter notebook is required to run &ldquo;sheep3_6_9_8roi.ipynb&rdquo; to calculate the Pearson&rsquo;s coefficient in &quot;demo_pearson_opt&quot;.&nbsp;&ldquo;image_opt&rdquo; is the calculated Pearson&rsquo;s coefficient based on the inverse-identified case.</li> <li><strong>Micro_samples</strong> contains the files for the generation of micro RVE samples. &ldquo;microRVE.inp&rdquo; is the input file of the micro RVE for Abaqus. &ldquo;Micro_USDF1.for&rdquo; is the Fortran file that is used as a user subroutine in Abaqus to consider the adaptive bone density change in the bone regeneration area. &ldquo;read_microRVE&rdquo; is the post-process file to obtain strain and stress information.</li> <li><strong>Neural_network_training</strong> contains the files for the training of the 1<sup>st</sup> neural network for calculating the elastic tensor and the 2<sup>nd</sup> series of neural networks for calculating the unit SED components. In <strong>1<sup>st</sup>_neural_network</strong> file, a Matlab code is for the training of the neural network based on Matlab R2020b. The training data of the 1<sup>st</sup> round and the 2<sup>nd</sup> round are provided in the dataset file. In <strong>2<sup>nd</sup>_neural_network</strong> file, a Matlab code &ldquo;Train3D_SED&rdquo; is used for the training of 21 independent neural networks for predicting 21 unit SED components. &ldquo;dataset&rdquo; contains the training data of unit SED components.</li> <li><strong>ML_approach </strong>contains the files of the proposed machine learning-based approach and the trained neural networks. The Matlab code &ldquo;Multiscale_boneRemodelling _ML&rdquo; is the program for the proposed approach, which will call Abaqus for the finite element analysis at the macroscopic level. &ldquo;sheep_macro_1423_C3D4.inp&rdquo; is the input file of the in-silico model, including sheep tibia, bone fixation plate, screws and scaffold. &ldquo;macro_umat&rdquo; is the user subroutine file. &ldquo;read_macro_1423&rdquo; is used for post-process of FE data. &ldquo;Trained_model&rdquo; file includes all the trained neural networks.</li> <li><strong>Inverse_identification</strong> contains files for the inverse problem. &ldquo;image_analysis&rdquo; contains the 5000 virtual images generated by the proposed ML approach (&ldquo;postresults_imageupdate_5000). &ldquo;sheep3_6_9_8roi.ipynb&rdquo; is the python-based code for the images analysis and calculates the Pearson&rsquo;s coefficient. &ldquo;NN_pear&rdquo; is the trained neural network to output Pearson&rsquo;s coefficient. &ldquo;Pea_opt&rdquo; is the code to find the optimal bone remodelling parameters by multi-objective genetic algorithm. &ldquo;in-vivo X_ray&rdquo; includes the clinical X-ray images taken at different time points. &ldquo;inverse_identified_results&rdquo; includes the final inverse identified results.</li> </ol>

ShareScore

40/100

Overall dataset sharing score

Score breakdown

These five areas show where the dataset supports — or may limit — practical reuse.

Stewardship
8
Harmonization
4
Access
16
Reuse readiness
8
Engagement
4

Topics