About the Brain Connectivity Toolbox

The Brain Connectivity Toolbox (brain-connectivity-toolbox.net) is a MATLAB toolbox for complex-network (graph) analysis of structural and functional brain-connectivity data sets. Several people have contributed to the toolbox and users are welcome to contribute new functions with due acknowledgement.

All efforts have been made to avoid errors, but users are strongly urged to independently verify the accuracy and suitability of individual toolbox functions. Please report bugs or substantial improvements to Olaf Sporns or to Mika Rubinov.

Toolbox contributors

Olaf Sporns OS osporns at indiana.edu
Mikail Rubinov MR rubinovm at janelia.hhmi.org
Yusuke Adachi
Andrea Avena-Koenigsberger AA
Danielle Bassett
Richard Betzel
Nicolas Crossley
Joaquín Goñi
Alexandros Goulas
Christopher Honey
Martijn van den Heuvel
Rolf Kötter
Jonathan Power
Murray Shanahan
Jeffrey Spielberg
Andrew Zalesky

Getting started

What do I need to use the Brain Connectivity Toolbox?

  • A recent (preferably >2010) version of MATLAB. Many functions should also work in Octave, an open-source alternative to MATLAB (details). A small number of functions additionally require the MATLAB statistics toolbox.
  • Basic familiarity with manipulating data and running functions in MATLAB (details). Familiarity with the MATLAB programming language is useful but not essential.
  • Network matrices. The Brain Connectivity Toolbox is primarily a network analysis toolbox and provides only limited support for network construction.

Which network matrices can I use with the Brain Connectivity Toolbox? 

  • Most functions do not explicitly check the validity of the input network matrices; it is crucial to manually ensure that these matrices are suitable for their intended use.
  • The network matrices should be square; rows and columns in these matrices should represent network nodes, matrix entries should represent network links.
  • The network matrices should not be too small. As a rule of thumb, the toolbox is designed to be used with networks of greater than 20 nodes.
  • The network matrices should preferably be in double-precision and non-sparse formats. Sparse, single-precision or logical formats may sometimes cause errors.
  • The network matrices may be binary or weighted, directed or undirected. Each function specifies the network type for which it is suitable.
  • The network matrices should not contain self-self connections. In other words, all values on the main diagonal of these matrices should be set to 0.
  • In most cases, the network matrices should not contain negative weights. However, a substantial number of functions can process matrices with positive and negative weights. These functions typically end with sign.m (for signed networks).
  • In general, randomization functions are designed for non-dense matrices; many randomization functions will be too slow and/or ineffective in dense matrices. However, some randomization functions are specifically designed for dense and weighted matrices.
  • The Brain Connectivity Toolbox contains several network matrices; these may be used as examples or to get started. 

How do I install and run the Brain Connectivity Toolbox?

Simply download the toolbox (as BCT.zip), extract the contents of the zip file, navigate to these contents in MATLAB (or add the contents directory to the MATLAB path), and run individual functions from the MATLAB command window.

Most functions in the toolbox are standalone (have no dependencies). However, several functions are dependent on other Brain Connectivity Toolbox functions, or on MATLAB toolboxes, such as the statistics toolbox (more information for identifying dependencies).

When was the Brain Connectivity Toolbox last updated?

The toolbox is usually updated around the beginning of new year. Each new update includes release notes specifying the nature and extent of individual changes. Most functions also contain a modification history (located just below the help header). The All functions page includes dates of recent updates and additional details.

Where can I find more help?