Ensemble learning of population based GCN for AD and PD Classification.

This project is the implementation of population based GCN (pGCN) based on Parisot, S et.Al's (https://arxiv.org/abs/1703.03020) on DTI data of ADNI and PPMI databases. We further use ensemble learning approach to boost the classification perfromance of pGCN.

We provide an implementation applied to the ADNI dataset for Alzheimer's disease diagnosis.

Implementation on PPMI dataset for Parkinson's disease classification can also be done on similar basis.

INSTRUCTIONS TO RUN

The data folder contains the samples of structural connectivity matrices(.npy files) of four subjects with corresponding subject ids These files are generated after the raw DTI data from ADNI repository is pre-processed. It contains the data lists for training, and the MRI and DTI data description files from ADNI and PPMI databases.

There are two subfolders in the code folder. 'pGCN' is the implementation without ensemble learning and 'ensemble_pGCN' is the implementation of ensemble learning on pGCN.

To run the programme, you will need to install the implementation of graph convolutional networks (GCN) by Kipf et al.

The root folder in train_pGCN.py has to be updated to the folder were the data will be stored.

To run the programme with default parameters execute the main_ADNI file.

Please note that the file names are to be kept as they are named and not to be changed.

REQUIREMENTS

networkx
nilearn
scikit-learn
joblib
Keras==2.2.4
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.0
kiwisolver==1.1.0
kneed==0.5.0
Markdown==3.2.1
matplotlib==3.0.3
numpy==1.16.0
powerlaw==1.4.4
protobuf==3.11.3
pyparsing==2.4.6
python-dateutil==2.8.1
PyYAML==5.3
scikit-learn==0.22.1
scipy==1.2.0
six==1.14.0
sklearn==0.0
tensorboard==1.12.2
tensorflow-gpu==1.12.0
termcolor==1.1.0
Werkzeug==1.0.0