Connectivity Metrics

From CCN Wiki
Jump to navigation Jump to search

Brain connectivity datasets comprise networks of brain regions connected by anatomical tracts or by functional associations. Complex network analysis-a new multidisciplinary approach to the study of complex systems-aims to characterize these brain networks with a small number of neurobiologically meaningful and easily computable measures. In this article, we discuss construction of brain networks from connectivity data and describe the most commonly used network measures of structural and functional connectivity. (Rubinov & Sporns, 2010)

Brain Connectivity Toolbox (BCT)

The BCT is a set of MATLAB functions that provide a number of potentially useful network metrics.

Measures of Integration

[lambda,efficiency,ecc,radius,diameter] = charpath(D,diagonal_dist,infinite_dist)

The network characteristic path length is the average shortest path length between all pairs of nodes in the network. The global efficiency is the average inverse shortest path length in the network. The nodal eccentricity is the maximal path length between a node and any other node in the network. The radius is the minimal eccentricity, and the diameter is the maximal eccentricity.

The distance matrix D is obtained by first calling distance_bin (binarized) or distance_wei (weighted). The input to either of these functions should be a connection-length matrix M, where larger values in M correspond to greater distances. Assuming that the elements of M represent correlations, squared correlations, or neural network connections, the matrix should first be inverted (because higher values in M would usually be interpreted as closer connections).

%Assume M is a matrix of correlations, squared correlations or neural network weights
Minv=power(M,-1);
D=distance_wei(Minv);
diagonal_dist=0;
infinite_dist=1;
[lambda,efficiency,ecc,radius,diameter] = charpath(D,diagonal_dist,infinite_dist);

Visualization

adjacency_plot_und()

This function requires two parameters: an adjacency matrix M and a set of spatial coordinates xyz for each node in the adjacency matrix. The function renders a 3d figure depicting each non-zero connection. For large networks, the resulting figure may be uninterpretable, especially if there is a nonzero value for all edges in M; it might be helpful to prune the adjacency matrix before plotting it (e.g., set the main diagonal self-connections and any value below the top x %-ile to zero). To obtain the set of spatial coordinates, see the topic on Annotation Coordinates.

>> lsegs=allregions(1:111); %allregions is a pre-existing cell array of segment names for the 219 node network
>> rsegs=allregions(112:end); %the first 111 nodes are lh, the remainder are rh
>> %having already determined the segment names of interest, I can pass them as parameters:
>> [xyz, hemi, segnames]=getSegCoords('lsegnames', lsegs, 'rsegnames', rsegs);
>> ss=RR(:,:,1); %RR contains 12 219×219 adjacency matrices. Here, we will plot the first one.
>> ss(ss==1)=0;
>> ss=sort(ss(:), 'descend'); %%ss has 47961 values; when sorted, the 4796th value would be the top 10%
>> M=RR(:,:,1);
>> M(M<ss(4796))=0;
>> M(M==1)=0;
>> [x,y,z]=adjacency_plot_und(M,xyz);
>> plot3(x,y,z);