Connectivity Metrics: Difference between revisions
Line 7: | Line 7: | ||
====adjacency_plot_und()==== | ====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]]. | 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); | >> lsegs=allregions(1:111); %allregions is a pre-existing cell array of segment names for the 219 node network | ||
>> rsegs=allregions(112:end); | >> 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); | >> [xyz, hemi, segnames]=getSegCoords('lsegnames', lsegs, 'rsegnames', rsegs); | ||
>> ss=RR(:,:,1); | >> ss=RR(:,:,1); %RR contains 12 219×219 adjacency matrices. Here, we will plot the first one. | ||
>> ss(ss==1)=0; | >> ss(ss==1)=0; | ||
>> ss=sort(ss(:), 'descend'); %%ss has 47961 values; when sorted, the 4796th value would be the top 10% | >> ss=sort(ss(:), 'descend'); %%ss has 47961 values; when sorted, the 4796th value would be the top 10% |
Revision as of 09:41, 22 June 2016
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.
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);