Analysis of Complex Brain Networks


Network neuroscience is an attempt to take neuroscience from the study of individual brain units to a network-level investigation. This is promising since the brain is one of the most complex systems, comprising nearly 10 billion neurons connected by about 100 trillion synapses. Thus, as a complex network, interactions among brains’ units are nontrivial for sure. Here our goal is to better understand and computationally model these interactions. Join us on our journey to discover more about the surprising interactions underlying the beauty of complex brain networks!



Complex systems are everywhere, all around us. Looking at the world outside, from amazing ant colonies to migrating flocks of birds, as well as the world inside from powerful immune systems to inspiring central nervous systems. These are all systems in which studying each component apart from others and the context they belong to may not reveal the secrets of the fundamental properties. So buckle up! we are entering a realm where the whole is greater than the sum of its parts, as was first coined by Aristotle. Among all these fascinating systems, we have focused on the brain as a system in which performing even the simplest routines calls for harmonious activities from several parts. Not only in performing higher-order cognition, but also during rest and sleep brain functions as a highly complex system. 

In studying the brain computationally, like all other approaches, advances in neuroimaging techniques have been of course crucial. One of the important milestones in the field of neuroimaging was the development of computerized axial tomography (CT). Designed and proposed by Dr. Oldendorf, who is regarded as the father of neuroimaging by some, CT paved the way for modern techniques such as magnetic resonance imaging (MRI). There are plenty of other neuroimaging techniques each with its own pros and cons. These techniques are generally divided into two categories: Structural imaging and Functional imaging. While structural imaging gives us a visualization of anatomical properties of the brain (like CT and MRI), functional imaging provides us with some direct or indirect measure of neuronal activities within the brain (like EEG, PET, and fMRI). The following videos may be a good starting point for a brief comparison between popular neuroimaging techniques.

So far so good! Now let’s talk about another basic concept based on which neuroimaging techniques are categorized: Temporal resolution and Spatial resolution. Take a look at the image below from Grinvald and Hildesheim 2004. We can see that different imaging techniques have different temporal (x-axis) and spatial (y-axis) resolutions. Put it simply: Temporal resolution is the ability of a technique to tell you when the activation has happened. For example, we can see that compared to PET, fMRI has better time resolution, while EEG has the richest time resolution among non-invasive techniques. Spatial resolution, on the other hand, is the potential of a technique to tell you which areas of the brain are active. You see, EEG is not a very good option when you are interested in localizing the activities, while fMRI has a reacher spatial resolution. Practically, this means if someone claims that using EEG they can tell you where exactly is activated in your brain when you are reading this article, oh well… I am sorry but they really don’t! Generally, among non-invasive techniques, EEG is the hallmark of temporal resolution while fMRI is the hallmark of spatial resolution.

This image has an empty alt attribute; its file name is 1994d85e-63fa-4278-a7f8-54da831ae37f

So what to do with these data? Using neuroimaging data, there are several standard ways of approaching questions regarding how the brain is organized to do what it does. Among these is the network neuroscience perspective. Within this framework, one defines a network based on the brains’ structural or functional image. There are plenty of ways to create this network, based on your answer to the following questions: How to define the nodes? How to estimate edges? Are they directed or undirected? Signed or unsigned? Binary or weighted? Is the network fully connected or thresholded? What should be the thresholding mechanism if needed? These are among some basic but extremely important questions one needs to answer based on their research questions when aiming to create a network from neuroimaging data.


Where to start?

If you are interested in network neuroscience, take a look at the following two books: Networks of the Brain illuminates the brain’s function and its inseparable relation to the structure from a complex network perspective in a very easy-to-follow manner. Likewise, Fundamentals of Brain Network Analysis, which is the winner of the 2017 PROSE award in biomedicine & neuroscience as well as the 2017 British Medical Association (BMA) award, is a comprehensive introduction to the complexity of neuronal connectivity within the framework of network science.


Reza Khosrowabadi

Assistant Professor at the Institute for Cognitive and Brain Sciences

Madjid Eshaghi Gordji

Professor of Mathematics at Semnan University

Zahra Moradimanesh

Computational Neuroscience at ICBS

Majid Saberi

Cognitive Neurosciene at ICBS, Advisor: Dr. Reza Khosrowabadi

Our publications so far:



Protected: Healthy development of functional brain networks

This dataset contains the preprocessed and denoised time series and functional connectivities that we have extracted from resting-state functional magnetic resonance imaging (rs-fMRI) data of healthy individuals during development. Including a total number of 215 participants, it covers three age ranges: childhood from 7 to 11 years old, adolescence from 12 to 17 years old, and Adulthood from 18 to 30 years old. The raw data is collected by ABIDE I. This version is published on March 2021 and the password is given upon request.

Size: 235 MB



Here are some of our codes that you can freely use, redistribute and/or modify as you wish under the terms of the GNU General Public License (GPL).

  • Python implementation to threshold your network using the G-Lasso algorithm.
  • C++ implementation to check if balanced/unbalanced triads are over/under-represented in your network compared to the null model. Check out this paper for more technical details.
  • MATLAB implementation to correct for the site effect on fMRI functional connectivities.


Recommended readings: