brainGraph: Graph Theory Analysis of Brain MRI Data

A set of tools for performing graph theory analysis of brain MRI data. It is best suited to data from a Freesurfer analysis (cortical thickness, volumes, local gyrification index, surface area), but also works with e.g., tractography data from FSL and fMRI data from DPABI. It contains a graphical user interface for graph visualization and data exploration and several functions for generating useful figures.

Install the latest version of this package by entering the following in R:
AuthorChristopher G. Watson <>
Date of publication2017-04-10 13:06:14 UTC
MaintainerChristopher G. Watson <>

View on CRAN

Man pages

aal116: Coordinates for data from the AAl116 atlas

aal2.120: Coordinates for data from the AAL2 atlas

aal2.94: Coordinates for data from the AAL2 atlas

aal90: Coordinates for data from the AAl90 atlas

analysis_random_graphs: Perform an analysis with random graphs for brain MRI data

assign_lobes: Give vertices in a graph a _lobe_ attribute.

auc_diff: Difference in the area-under-the-curve of two vectors

boot_global: Bootstrapping for global graph measures

brainGraph_GLM: Run linear models at each vertex of a graph

brainGraph_GLM_design: Create a design matrix for linear model analysis

brainGraph_GLM_fit: Fit linear models and calculate statistics

brainGraph_init: Initialize variables for further use in brainGraph

brainsuite: Coordinates for data from BrainSuite atlas

centr_lev: Calculate a vertex's leverage centrality

check.resid: Check model residuals for each brain region

choose.edges: Select edges for re-wiring.

color_vertices_edges: Color graph vertices and edges

contract_brainGraph: Contract graph vertices based on brain lobe and hemisphere

cor.diff.test: Calculate the p-value for differences in correlation...

corr.matrix: Calculate correlation matrix and threshold

count_edges: Count number of edges of a brain graph

craddock200: Coordinates for data from the Craddock200 atlas

create_mats: Create connection matrices for tractography or fMRI data

delete_all_attr: Delete all attributes of a graph

destrieux: Coordinates for data from the Destrieux atlas

destrieux.scgm: Coordinates for data from the Destrieux atlas

dk: Coordinates for data from the Desikan-Killiany atlas

dk.scgm: Coordinates for data from the Desikan-Killiany atlas

dkt: Coordinates for data from the Desikan-Killiany-Tourville...

dkt.scgm: Coordinates for data from the Desikan-Killiany-Tourville...

dosenbach160: Coordinates for data from the Dosenbach160 atlas

edge_asymmetry: Calculate an asymmetry index based on edge counts

efficiency: Calculate graph global, local, or nodal efficiency

get.resid: Linear model residuals across brain regions

graph_attr_dt: Create a data table with graph global measures

hoa112: Coordinates for data from Harvard-Oxford atlas

individ_contrib: Approaches to estimate individual network contribution

lpba40: Coordinates for data from the LONI probabilistic brain atlas

make_ego_brainGraph: Create a graph of the union of multiple vertex neighborhoods

make_empty_brainGraph: Create an empty graph with attributes for brainGraph

NBS: Network-based statistic for brain MRI data Permutation test for group difference of graph measures

plot_boot: Plot global graph measures with shaded regions calculated...

plot_brainGraph: Plot a brain graph with a specific spatial layout

plot_brainGraph_gui: GUI for plotting graphs overlaid on an MNI152 image or in a...

plot_brainGraph_list: Write PNG files for a list of graphs

plot_brainGraph_mni: Draw an axial or sagittal slice of the MNI152 T1 image

plot_brainGraph_multi: Save PNG of three views of a brain graph

plot_corr_mat: Plot a correlation matrix

plot_global: Plot global graph measures across densities

plot_group_means: Plot group distributions of volumetric measures for a given...

plot_perm_diffs: Calculate permutation p-values and plot group differences

plot_rich_norm: Plot normalized rich club coefficients against degree...

plot_vertex_measures: Plot vertex-level graph measures at a single density or...

rich_club_attrs: Assign graph attributes based on rich-club analysis

rich_club_coeff: Calculate the rich club of a graph

rich_club_norm: Calculate the normalized rich club coefficient

rich_core: Calculate the rich core of a graph

robustness: Analysis of network robustness

rotation: Apply a rotation matrix to a set of points

set_brainGraph_attr: Set graph, vertex, and edge attributes common in MRI analyses

sim.rand.graph.clust: Simulate a random graph with given degree sequence and...

sim.rand.graph.par: Simulate N random graphs w/ same clustering and degree... Calculate graph small-worldness

spatial_dist: Calculate Euclidean distance of edges and vertices

update_brainGraph_gui: Function to dynamically plot a graph

vec.transform: Transform a vector to have a different range

vertex_attr_dt: Create a data table with graph vertex measures

vertex_roles: Gateway coefficient, participation coefficient, and...

vulnerability: Calculate graph vulnerability

write_brainnet: Write files to be used for visualization with BrainNet Viewer


aal116 Man page
aal2.120 Man page
aal2.94 Man page
aal90 Man page
analysis_random_graphs Man page
aop Man page
assign_lobes Man page
auc_diff Man page
boot_global Man page
brainGraph_GLM Man page
brainGraph_GLM_design Man page
brainGraph_GLM_fit Man page
brainGraph_init Man page
brainsuite Man page
centr_lev Man page
check.resid Man page
choose.edges Man page
contract_brainGraph Man page
cor.diff.test Man page
corr.matrix Man page
CountEdges Man page
count_homologous Man page
count_interlobar Man page
craddock200 Man page
create_mats Man page
delete_all_attr Man page
destrieux Man page
destrieux.scgm Man page
dk Man page
dk.scgm Man page
dkt Man page
dkt.scgm Man page
dosenbach160 Man page
edge_asymmetry Man page
edge_spatial_dist Man page
efficiency Man page
gateway_coeff Man page
get.resid Man page
graph_attr_dt Man page
GraphColors Man page
GraphDistances Man page
graph.efficiency Man page
hoa112 Man page
IndividualContributions Man page
loo Man page
lpba40 Man page
make_ego_brainGraph Man page
make_empty_brainGraph Man page
NBS Man page
part_coeff Man page Man page
plot_boot Man page
plot_brainGraph Man page
plot_brainGraph_gui Man page
plot_brainGraph_list Man page
plot_brainGraph_mni Man page
plot_brainGraph_multi Man page
plot_corr_mat Man page
plot_global Man page
plot_group_means Man page
plot_perm_diffs Man page
plot_rich_norm Man page
plot_vertex_measures Man page
rich_club_attrs Man page
rich_club_coeff Man page
rich_club_norm Man page
rich_core Man page
robustness Man page
rotation Man page
set_brainGraph_attr Man page
set.brainGraph.attributes Man page
set_edge_color Man page
set_vertex_color Man page
sim.rand.graph.clust Man page
sim.rand.graph.par Man page Man page
update_brainGraph_gui Man page
vec.transform Man page
vertex_attr_dt Man page
VertexRoles Man page
vertex_spatial_dist Man page
vulnerability Man page
within_module_deg_z_score Man page
write_brainnet Man page


R/plot_brainGraph_multi.R R/cor_diff_test.R R/choose_edges.R R/utils.R R/plot_brainGraph_list.R R/robustness.R R/plot_brainGraph_gui.R R/create_mats.R R/plot_group_means.R R/plot_rich_norm.R R/centr_lev.R R/update_brainGraph_gui.R R/sim_rand_graph_par.R R/set_brainGraph_attributes.R R/brainGraph_GLM.R R/check_resid.R
R/small_world.R R/contract_brainGraph.R R/sim_rand_graph_clust.R R/get_resid.R R/plot_global.R R/make_ego_brainGraph.R R/rich_club.R R/NBS.R R/plot_brainGraph.R R/boot_global.R R/vertex_attr_dt.R R/graph_efficiency.R R/plot_vertex_measures.R R/corr_matrix.R R/permute_group.R R/plot_boot.R R/graph_attr_dt.R R/count_edges.R R/vertex_roles.R R/write_brainnet.R R/brainGraph_init.R R/plot_brainGraph_mni.R R/analysis_random_graphs.R R/plot_perm_diffs.R R/vulnerability.R R/make_empty_brainGraph.R R/edge_asymmetry.R R/individ_contrib.R R/assign_lobes.R R/plot_corr_mat.R R/color_vertices_edges.R R/spatial_dist.R
man/create_mats.Rd man/brainGraph_GLM_fit.Rd man/boot_global.Rd man/contract_brainGraph.Rd man/aal2.94.Rd man/lpba40.Rd man/rich_core.Rd man/assign_lobes.Rd man/centr_lev.Rd man/cor.diff.test.Rd man/aal90.Rd man/plot_global.Rd man/plot_boot.Rd man/brainGraph_GLM_design.Rd man/update_brainGraph_gui.Rd man/get.resid.Rd man/aal116.Rd man/destrieux.scgm.Rd man/auc_diff.Rd man/delete_all_attr.Rd man/craddock200.Rd man/dosenbach160.Rd man/vertex_attr_dt.Rd man/make_ego_brainGraph.Rd man/plot_vertex_measures.Rd man/count_edges.Rd man/set_brainGraph_attr.Rd man/plot_group_means.Rd man/plot_brainGraph_list.Rd man/ man/plot_corr_mat.Rd man/brainGraph_init.Rd man/check.resid.Rd man/dk.Rd man/make_empty_brainGraph.Rd man/plot_brainGraph_multi.Rd man/robustness.Rd man/dkt.scgm.Rd man/rich_club_attrs.Rd man/destrieux.Rd man/vertex_roles.Rd man/corr.matrix.Rd man/plot_brainGraph_mni.Rd man/rich_club_norm.Rd man/aal2.120.Rd man/edge_asymmetry.Rd man/choose.edges.Rd man/hoa112.Rd man/write_brainnet.Rd man/plot_perm_diffs.Rd man/sim.rand.graph.par.Rd man/ man/color_vertices_edges.Rd man/sim.rand.graph.clust.Rd man/efficiency.Rd man/vec.transform.Rd man/vulnerability.Rd man/dkt.Rd man/rich_club_coeff.Rd man/spatial_dist.Rd man/NBS.Rd man/brainsuite.Rd man/plot_rich_norm.Rd man/rotation.Rd man/brainGraph_GLM.Rd man/analysis_random_graphs.Rd man/individ_contrib.Rd man/graph_attr_dt.Rd man/dk.scgm.Rd man/plot_brainGraph.Rd man/plot_brainGraph_gui.Rd

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.