Giter VIP home page Giter VIP logo

graph_saliency_maps's Introduction

Graph Saliency Maps through Spectral Convolutional Networks

The code in this repository provides the implementation of an activation-based visual attribution method for irregular graphs, which works integrated with graph convolutional neural networks (GCNs). The method has been validated via a sex classification task using functional brain connectivity networks and data from the UK Biobank and is presented in our paper:

The paper is presented at the Second International Workshop on Graphs in Biomedical Image Analysis, organised as a part of Medical Image Computing and Computer-Assisted Interventions (MICCAI) 2018 in Granada.

Here are the slides, poster (which has won the best poster award!) and a copy of the paper. The visual abstract is provided below:

Graph saliency maps with spectral convolutional networks

The code is released under the terms of the MIT license. Please cite the above paper if you use it.

Our implementation is integrated to the spectral convolutional network codebase provided in this repository

Results

Click the below picture or scan the QR code to see the method in action (you will be directed to our Youtube channel). Audi R8

Installation

  1. Clone this repository.

    git clone https://github.com/sarslancs/graph_saliency_maps.git
    cd graph_saliency_maps
    
  2. Install the dependencies. Please edit requirements.txt to choose the TensorFlow version (CPU / GPU, Linux / Mac) you need to install, or install it before attempting to use the code.

    pip install -r requirements.txt  # or make install
    
  3. The codebase is based on Python 2.7.14, Anaconda custom (64-bit). We tested the code on tensorflow 1.3.0 , tensorflow-gpu 1.4.1, and tensorflow-tensorboard 0.1.8 on a workstation running Ubuntu 16.04. The CUDA version was release 8.0, V8.0.61. At the time of release, versions of other libraries were as follows: numpy 1.12.1, sklearn 0.19.1, scipy 1.1.0, matplotlib 2.2.2.

How to?

In order to get started, you need to provide:

  1. A config file, where all model hyper-parameters, data paths, and training/test parameters are specified. While we have provided one, it depends on the UK Biobank data, which although is freely available, may not be directly obtained online. You have to first register your intent to use the data and undergo an application process.
  2. Datasets for training, validation, and test of dimensionality num_subjects x num_regions x num_signals.
  3. An adjacency matrix of size num_regions x num_regions that represents the underlying graph and is subsequently used to compute the Laplacian matrix. If not provided, the code computes one based on the train data.

To run the model in training mode:

  • python main.py -c ./config/gender_biobank.conf

To run the model in test mode (i.e. via a pre-trained model):

  • python main.py -c ./config/gender_biobank.conf -m ./log/sex_biobank_model_2018-09-24-13-01

Contact

Send an e-mail to [username_on_github]@gmail.com. You may also find me on twitter.

graph_saliency_maps's People

Contributors

sarslancs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

graph_saliency_maps's Issues

for help

Hi,Mr.sarslancs, you successful explored GCNs for the task of ROI identification and propose a visual attribution method based on class activation mapping. While,there is some questions when I learn the code. First is the store format of the file CSV_PATH = '/vol/biobank/12579/brain/ukb8972_extracted.csv'. Second is path DATA_DIR = '/vol/biobank/12579/brain/fmri', that fmri files include? Looking forward to your reply! Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.