The aim to utlize image datasets from the Alzheimer's Disease Neuroimaging Initiative (ADNI) in various neural network learning tasks and investigate learned filter morphologies at each layer and overall manifolds. Images fall into one of three categories: cognitively normal (CN), mild cognitive impairment (MCI) and Alzheimer's disease (AD).
Images depicting various architectures experimented with.
3D convolutional neural network
Encoder for convolutional variational autoencoder
Decoder for convolutional variational autoencoder
Overall architecture for convolutional variational autoencoder
Set of scripts for preprocessing
Matches NiFTi files to the master metadata file provided by ADNI and segregates them to a folder denoting their appropriate class label (AD, MCI, CN)
Performs affine registration to the MNI152-1mm-T1 atlas on images using FLIRT
Performs skull stripping with FSL BET.
Performs N4 enhanced bias correction using the N4ITK tool in ANTs.
Performs normalization on images and writes them into easily loadable NPY formats to Keras' fit_generator.
A 3D convolutional neural network for 1-of-3 classification of the images and relevant training code.
A 2D variational autoencoder and relevant training code (note that channels are set to the z-dimension of the images)
Dynamic batch generator for adni_convnet.py. This is intended to be used as a data generator class for Keras' fit_generator.
Dynamic batch generator for adni_cvae.py. This is intended to be used as a data generator class for Keras' fit_generator.
Visualizes the AD, MCI and CN t-SNE clusters when images are mapped to the latent space of the CVAE. t-SNE is initialized with PCA.
Plots the relevant training losses over training epochs.
Small script to visualize a slice from the middle of the brain volume after it undergoes the preprocessing pipeline.