Skip to content
/ encode Public
forked from brain-life/encode

Method for encoding brain connectomes in multidimensional arrays (tensors).

Notifications You must be signed in to change notification settings

wandell/encode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encode: Multidimensional encoding of brain connectomes

alt tag

About

This software implements a framework to encode structural brain connectomes into multidimensional arrays. These arrays are commonly referred to as tensors. Encoding Connectomes provides an agile framework for computing over connectome edges and nodes efficiently. We provide several examples of operations that can be performed using the framework.

One major application of the tensor encoding is the implementaion of the Linear Fascicle Evaluation method, in short LiFE. The tensor encoding method allows implementing LiFE with dramatic reduction in storage requirements, up to 40x compression factors. Furtheremore, connectome encoding allows performing multiple computational neuroanatomy operations such as tract-dissections, virtual lesions, and connectivity estimates very efficiently using the machine-friendly array operators.

We provide demos to expain how to: (1) Load and encode diffusion-weighted data and tractography models of white matter fascicles, as well as perform multidimensional arrays operations. (2) Build and optimize a Linear Fascicle Evaluation model. (4) Perform neuronatomical segmentations, computational neuroanatomy operations and virtual lesions using the connectome encoding framework. (4) Reproduce some fo the figures of article describing the method implemented in thsi toolbox: Caiafa and Pestilli, forthcoming.

Application.

  • Encoding of brain conenctome and associated phenotypes into multidimensional arrays.
  • Evaluate the evidence supporting white-matter connectomes generated using magnetic resonance diffusion-weighted imaging and computational tractography.
  • Perform statistical inference on white-matter connectomes: Compare white-matter connectomes, show the evidence for white-matter tracts and connections between brain areas.

License.

How to cite the software.

Caiafa, C. and Pestilli, F. Multidimensional encoding of brain connectomes Nature Scientific Reports 7, Article number: 11491.

Funding.

This research was supported by NSF IIS-1636893, BCS-1734853, NIH ULTTR001108 and the Indiana University Areas of Emergent Research initiative Learning: Brains, Machines, Children.

Installation.

  1. Download (https://github.com/brain-life/encode).
  2. Start MatLab.
  3. Add repository to the matlab search path.

Dependencies.

Getting started.

  • Download the Encode repository from the TAR/ZIP files linked here.
  • UNZIP/UNTAR the file.
  • Add the encode folder to your matlab search path. To do so in the MatLab prompt type:
   >> addpath(genpath('/my/path/to/the/encode/folder/'))
  • Download the VISTASOFT repository from the TAR/ZIP files linked here.
  • UNZIP/UNTAR the file.
  • Add the VISTASOFT folder to your matlab search path. To do so in the MatLab prompt type:
   >> addpath(genpath('/my/path/to/the/VISTASOFT/folder/'))
  • Download the MBA repository from the TAR/ZIP files linked here.
  • UNZIP/UNTAR the file.
  • Add the MBA folder to your matlab search path. To do so in the MatLab prompt type:
   >> addpath(genpath('/my/path/to/the/MBA/folder/'))
  • Download the demo datasets from the repository doi:10.5967/K8X63JTX.
  • UNTAR the main file Demo_Data_for_Multidimensional_Encoding_of_Brain_Connectomes.tar.gz
  • Go inside the folder Demo_Data_for_Multidimensional_Encoding_of_Brain_Connectomes/ and UNZIP the following files: Figs_data.zip, HCP3T.zip, HCP7T, and STN. You can deleted the original .zip files once they are unziped.
  • The structures of files and folders under the main folder should looks like as follows
  • feDemoDataPath.m
  • Figs_data/
  • HCP3T/
  • HCP7T/
  • README.txt
  • STN/
  • Add the main data folder (Demo_Data_for_Multidimensional_Encoding_of_Brain_Connectomes/) to your matlab search path. To do so in the MatLab prompt type:
   >> addpath(genpath('/my/path/to/the/Demo_Data_for_Multidimensional_Encoding_of_Brain_Connectomes/'))

Here you will learn about creating the tensor representation of a connectoms and perform basic operations such as identifying fascicles having a particular spatial orientation in a small voxel area.

  >>  demo_connectome_encoding.m

This code reproduce Fig. 3 of the paper "Multidimensional encoding of brain connectomes", by C. Caiafa and F. Pestilli.

  >>  demo_connectome_data_comparison.m

This code allows you to compute virtual lesions on a particular brain dataset and visualize particular major tracts together with their path-neighborhood, i.e. fascicles sharing same voxels.

  >>  demo_virtual_lesion.m

This code allows you to compute compute the fascicles weights for two different tractography methods, probabilistic and deterministic tractographies, on a same brain. This is similar to the original LiFE demo in https://github.com/francopestilli/life but here a full brain dataset is used. The optimization (fitting fascicles weights) runs in about 3 hours on a modern Intel processor with 8GB of RAM. This code has been tested with MatLab 2015b on Ubuntu 15+ and Mac OSX 10.11.

  >>  demo_LiFE.m

About

Method for encoding brain connectomes in multidimensional arrays (tensors).

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MATLAB 93.8%
  • C 6.2%