Alejandro Mora-Rubio¹ , Jesús Alejandro Alzate-Grizales¹ , Joaquim Montell Serrano¹ , Carlos Mayor-deJuan², Rafael Llombart Blanco² , Mariola Penadés Fons³ , and Maria de la Iglesia-Vayá¹³
¹ Unidad Mixta de Imagen Biomédica FISABIO-CIPF, Fundación para el Fomento de la Investigación Sanitario y Biomédica de la Comunidad Valenciana, Valencia, Spain
² Clínica Universidad de Navarra, Pamplona, Spain
³ Dirección General de Investigación e Innovación, Conselleria de Sanitat, Valencia, Spain
Intervertebral disc degeneration (IDD) is a common age-related condition characterized by structural alterations and functional impairment of intervertebral discs, leading to various symptoms such as back and neck pain. The Pfirrmann grading system is commonly used for assessing IDD severity based on Magnetic Resonance Imaging (MRI) findings. However, this method is only qualitative, resulting in high inter-rater variability, and also time-consuming. In this study, we aimed to develop a machine learning model to automate Pfirrmann grade classification of IDD using quantitative radiomic features extracted from MRI scans. We retrospectively collected 717 MRI scans, which were manually labeled by an expert radiologist. The extracted features were utilized to train different classifiers, achieving for the 5 level grading task an average accuracy of 71%, F1 score of 70%, and without any disc being graded outside a
figures
: visual outputs or graphs related to the radiomics analysis.notebooks
: contains Jupyter Notebooks, used during the experimentation phase.pyradiomics
refers to the feature extraction process.radiomics-analysis
contains the whole machine learning pipeline, from EDA to results evaluation.cv-analysis
[UNDER DEVELOPMENT] refers to preliminary experiments on IDD classification using Computer Vision.
- Source (
src
): contains the final Python scripts.radiomics/calculate
executes the feature extraction process using the providedParams.yaml
congfiguration file.ml/test_multiple_models
evaluates a suite of machine learning models for each experiment.ml/random_search
evaluates different parameter combinations for the best model for each experiment.ml/compute_metrics
evaluates the best performing model for each experiment using cross-validation.ml/transforms
andml/utils
contain helper functions for data import and preprocessing.