Skip to content

Data Requirements

Daniel Wilde edited this page Apr 26, 2023 · 9 revisions

Data Structure

In order for the code to run you must have a 'data' folder in the directory above the project. This folder should contain a folder for every class (CN, AD, sMCI, pMCI) and a csv file containing the clinical data. You can download my pre-processed dataset from this link to make the project work.

CSV File

The CSV file contains all the clinical information that is fed in to the neural network model. This includes: cognitive assessment scores, demographic information and genetic APOe4 gene data. All the values are normalised to be between 0 and 1. Here is a screenshot of how your data should look:

The label column is redundant and doesn't need to be filled in as the code obtains the labels from the folder name.

Each data sample that is fed into the model is a 3D array of floating point numbers containing the intensities of the MRI voxels and a 1D array of numbers representing the clinical features.

sMCI vs pMCI

Bare in mind that static cognitive impairment and progressive mild cognitive impairment is a subjective marker. You could say a subject with mild cognitive impairment that converts within 5 years to Alzheimer's disease has a progressive kind. For this project a subject who converted within three years of the diagnosis is considered to have progressive mild cognitive impairment. This is not provided in the ADNI dateset and you have to calculate this yourself.

ADNI provides a table containing every subject that has ever been scrutinised in their study with information on how they changed through time. This is also known as longitudinal subject data. It is from this table that you can figure out if a subject has static or progressive MCI.

Model Weights

Once you train a model you can choose to evaluate it from the command line interface. Upon evaluating its weights will be saved in a folder called weights and its UUID and performance metrics will be added as a record in an SQLite database. This database is created automatically on evaluation if it doesn't already exists.

Clone this wiki locally