Measuring Information Integration
Paper and Toolbox
This toolbox contains a set of functions used to calculate the integrated
information within a network defined by a connection matrix. The neural
dynamics is modeled as linear systems.
Please read the comments carefully - the
functions will only give valid results if certain statistical assumptions
Here are the individual functions, together
with a brief description of what they do. All of these functions should
be downloaded and moved to a single directory. These functions can
be used to reproduced the simulations presented in the paper: "Measuring
information integration" (2003) by Giulio Tononi and Olaf Sporns, published
in BMC Neuroscience 4, 31. (Download
This software is free. Use at your
own risk. Report bugs etc. to email@example.com.
This script loads the connection matrix,
sets some important parameters and then proceeds to call 'calcPHI.m' to calculate
the integrated information. Then the script plots the output in a series
of displays matching those used in the paper.
Function for calculating the integrated information for a connection
matrix. There are
several important control parameters that need to be set, including the
noise levels (intrinsic and perturbation).
Various function for needed for running 'runMIB_Cij.m'. See script
of using the effective information to calculate PHI, a simpler (but mathematically
non-equivalent) way of obtaining an estimate of PHI uses the mutual information.
This does not involve the use of perturbations to assess changes in
entropy. To use MI instead of EI, use these three functions:
instead of their EI-analogues (see above). Also, just substitute the
function call "calcPHI_MI(...)" for "calcPHI.m" in 'runMIB_Cij.m'.
Use these connectivity sets to generate the figures in the paper by Tononi
and Sporns, 2003. Each
of the files listed below contains one Cij matrix. Parameters in 'runMIB_Cij.m'
should be set to I_noise = 10^(-5), P_noise = 10^(-0), normalize = 0, optimize
= 0, start_lvl = 1, search_clusters = 1, step_through_disp = 0.
Figure 2: Cij_split.mat
Figure 3: Cij_optim_lo.mat
Figure 4: Cij_optim_hi.mat - here set
I_noise = 10^(-1).
Figure 5: Cij_sparse_optim_lo.mat
Figure 6: Cij_full.mat
Figure 7: Cij_4modules.mat