An Inference Engine for UK Biobank Neck-to-knee Body MRI
This repository implements an experimental software for fully automated analysis of magnetic resonance images (MRI) of the UK Biobank. Medical Inference on Magnetic resonance images with Image-based Regression (MIMIR) as implemented here utilizes convolutional neural networks for mean-variance regression.
Learn more about the UK Biobank Imaging Study and the uncertainty-aware deep regression method implemented here.
- What does it do?
This PyTorch implementation can be downloaded and run on neck-to-knee body MRI of UK Biobank to estimate and emulate various measurements. Note that this experimental software is used at your own risk, is provided with no guarantees of anything, and is not a certified medical diagnostic tool.
- Which properties can it predict?
This inference engine can estimate sex, age, height, weight, and several emulated body composition measurements together with individual confidence intervals. Find a full list of regression targets and results of 10-fold cross-validation here.
- How to get image data?
The image data of UK Biobank can only be shared with authorized research applications. You can apply for access here. Within UK Biobank, these images are listed under field 20201 - Dixon technique for internal fat - DICOM. If you do not have access but wish to test the pipeline, you can apply it to one test image that is freely available here.
- Will this work for any medical image data?
The approach has only been validated for neck-to-knee body MRI of about 40,000 UK Biobank subjects (44-82 years old, 95% self-reported white British ethnicity). Data from other imaging modalities, device types, or demographics will likely result in deteriorated performance. However, reproducing the imaging protocol on similar demographics should enable viable results.
- How does it work?
In a nut shell, the inference engine compresses the volumetric MRI to a 2d format and applies ResNet50 instances to it, which predict both the mean and variance of each given measurement for any given subject. They predict the target values and an estimate of predictive uncertainty, which yields a confidence interval. Find user instructions below.
- How was it created and validated?
Code for training and evaluating the underlying code is provided in the cross_validation subdirectory, together with additional documentation.
- I have technical/ethical/spiritual concerns and wish to speak to the manager
You can try the contact details listed at the end of this file.
-
Download the inference modules from the shared folder at Uppsala Sunet Box. Unpack them into "modules/".
-
Optionally, download UK Biobank Return dataset 3072 for annotations of the UK Biobank neck-to-knee body MRI. It lists subject IDs with artefacts that should be excluded.
-
In mimirInference.py call infer with:
- A list of paths to the UK Biobank neck-to-knee body MRI dicom files (field 20201)
- A path to a temporary caching folder for the 2d representations
- A list of paths to the modules to be applied
- An output path for the csv files with predictions
- The batch size B (set as high as your GPU allows for fastest speed)
-
Find the predictions in the output folder. The predicted variances can be used to calculate confidence intervals.
For any questions and feedback, feel free to contact taro.langner(at)gmail.com