BGSR (Brain Graph Super-Resolution) for super-resoloving low-resolution graphs code, by Islem Mhiri. Please contact islemmhiri1993@gmail.com for inquiries. Thanks.
You can download the Python 3 version of BGSR at: https://github.com/basiralab/BGSR-PY
While a few image super-resolution techniques have been proposed for MRI super-resolution, graph super-resolution techniques are currently absent. To this aim, we design the first brain graph super-resolution using functional brain data with the aim to boost neurological disorder diagnosis. Our framework learns how to generate high-resolution (HR) graphs from low-resolution (LR) graphs without resorting to the computationally expensive image processing pipelines for connectome construction at high-resolution scales.
This work has been published in the journal. Brain Graph Super Resolution (BGSR) is the first brain graph super resolution. The proposed method consists of three steps to build a HR graph of a testing subject by non-linearly fusing the HR graphs in the training sample.(1) The first step is a multi-kernel manifold learning to cluster similar low-resolution (LR) graphs in the training sample using the weights for a set of Gaussian kernels. (2) The second step is building the brain template of LR graphs for each cluster using an iterative diffusion process with a kernel matrix P about the similarity between ROIs. (3) The last step is identifying the most K similar training LR graphs of a test subject using the multi-kernel manifold learning with three centrality metrics (degree centrality, closeness centrality, and betweenness centrality). Experimental results and comparisons with the state-of-the-art methods demonstrate that BGSR can achieve the best prediction performance, and remarkably boosted the classification accuracy using predicted HR graphs in comparison to LR, and remarkably boosted the classification accuracy using predicted HR graphs in comparison to LR graphs. We evaluated our proposed framework from ABIDE preprocessed dataset (http://preprocessed-connectomes-project.org/abide/).
More details can be found at: https://www.sciencedirect.com/science/article/pii/S1361841520301328 or https://www.researchgate.net/publication/342493237_Brain_Graph_Super-Resolution_for_Boosting_Neurological_Disorder_Diagnosis_using_Unsupervised_Multi-Topology_Connectional_Brain_Template_Learning
The code has been tested with MATLAB 2020a on Windows 10. GPU is not needed to run the code.
In this repo, we release the BGSR source code trained and tested on a simulated heterogeneous graph data from 2 Gaussian distributions as shown below:
Data preparation
We simulated random graph dataset from two Gaussian distributions using the function simulateData_LR_HR.m. The number of graphs in class 1, the number graphs in class 2, and the number of nodes (must be >20) are manually inputted by the user when starting the demo.
To train and evaluate BGSR code on other datasets, you need to provide:
• A tensor of size ((n-1) × m × m) stacking the symmetric matrices of the training subjects. n denotes the total number of subjects and m denotes the number of nodes.
• A vector of size (n-1) stacking the training labels.
• A matrix (n × (m × m)) stacking the source HR brain graph.
• Kn: the number of the most similar LR training subjects to the testing subject.
The BGSR outputs are:
• A vector of size (1 × (m × m)) vector stacking the predicted features of the testing subject.
Train and test BGSR
To evaluate our framework, we used leave-one-out cross validation strategy.
To test our code, you can run: BGSR_demo.m
We used the following codes:
SIMLR code from https://github.com/BatzoglouLabSU/SIMLR/tree/SIMLR/MATLAB.
SNF code from http://compbio.cs.toronto.edu/SNF/SNF/Software.html.
Octave networks toolbox: https://github.com/aeolianine/octave-networks-toolbox
Similarity Network Fusion (SNF): Wang, B., Mezlini, A.M., Demir, F., Fiume, M., Tu, Z., Brudno, M., HaibeKains, B., Goldenberg, A., 2014. Similarity network fusion for aggregating data types on a genomic scale. [http://www.cogsci.ucsd.edu/media/publications/nmeth.2810.pdf] (2014) [https://github.com/maxconway/SNFtool].
Single‐cell Interpretation via Multi‐kernel LeaRning (SIMLR): Wang, B., Ramazzotti, D., De Sano, L., Zhu, J., Pierson, E., Batzoglou, S.: SIMLR: a tool for large-scale single-cell analysis by multi-kernel learning. [https://www.biorxiv.org/content/10.1101/052225v3] (2017) [https://github.com/bowang87/SIMLR_PY].
@article{mhiri2020brain,
title={Brain Graph Super-Resolution for Boosting Neurological Disorder Diagnosis using Unsupervised Multi-Topology Connectional Brain Template Learning},
author={Mhiri, Islem and Khalifa, Anouar Ben and Mahjoub, Mohamed Ali and Rekik, Islem},
journal={Medical Image Analysis},
pages={101768},
year={2020},
publisher={Elsevier}
}
Paper link on Elsevier: https://www.sciencedirect.com/science/article/pii/S1361841520301328
Paper link on ResearchGate: https://www.researchgate.net/publication/342493237_Brain_Graph_Super-Resolution_for_Boosting_Neurological_Disorder_Diagnosis_using_Unsupervised_Multi-Topology_Connectional_Brain_Template_Learning
Our code is released under MIT License (see LICENSE file for details).
We always welcome contributions to help improve BGSR and evaluate our framework on other types of graph data. If you would like to contribute, please contact islemmhiri1993@gmail.com. Many thanks.