Skip to content

Latest commit

 

History

History
130 lines (101 loc) · 4.85 KB

readme.md

File metadata and controls

130 lines (101 loc) · 4.85 KB

Plotting tool for brain connectivity data

Sidhant Chopra

brainconn

Travis build status AppVeyor build status Coverage status CRAN status Lifecycle: maturing

The purpose of this package is to allow for flexible, programmatic and interactive plotting of brain connectivity data within Rstudio - negating the need to swap to other visualization tools and allowing for reproducible integration of visualization with analysis scripts that are written in R.

The primary plotting functions: brainconn() and brainconn3D(). The primary user input into these function is a connectivity matrix. Several brain atlases come pre-installed and users can also provide a custom atlas (see vignette).

The brainconn() function allows users to input a binary/weighted and directed/non-directed (i.e. symmetric) connectivity matrix which can be plotted onto MNI coordinates using ggraph.

The brainconn3D() allows users to input a binary and non-directed connectivity matrix which is plotted in a 3D and interactive way using plottly.

The atlases currently included with in the package can be listed using the list_atlases() function: aal116, aal90, craddock200, dk68, dk82_aspree, dkt62, gordon_333, shen_268, shen_368, schaefer1000_n7, schaefer1000_n17, schaefer300_n7, schaefer300_n17 (and all other iterations of the schaefer atlases). Custom atlases can be easily added as long as you have centroid coordinates in MNI space, see vignette. The check_atlas() function checks that custom atlases meet the requirements of the plotting functions.

Installation

The package can be installed using devtools.

install.packages("remotes")
remotes::install_github("sidchop/brainconn")

The functions are now installed, and you may load them when you want to use them.

Use

The package also has a vignette, to help you get started. You can access it here, or via R:

library(brainconn)
vignette("brainconn")

The primary user input is a connectivity matrix (conmat).

brainconn(atlas ="schaefer300_n7", conmat=example_unweighted_undirected, view="ortho")

Modifiable features for brainconn include: view, node.size, node.color, edge.width, edge.color, edge.alpha, background.alpha, labels and others (see vignette)

x <- example_unweighted_undirected
p <- brainconn3D(atlas ="schaefer300_n7", conmat=x, show.legend = F)
p

Included below is a gif of the interactive output (see vignette for more information):

Modifiable features for brainconn3D include: node.size, node.color, edge.width, edge.color, adge.alpha, background.alpha, labels and others (see vignette)

Report bugs or requests

Don’t hesitate to ask for support or new features using github issues.

Other R packages you might be intrested in:

  • ggseg & ggseg3D: Plotting tool for brain atlases, in ggplot/plotly
  • brainGraph: Graph theory analysis of brain MRI data
  • fsbrain: Provides high-level functions to access (read and write) and visualize surface-based brain morphometry data (e.g. cortical thickness) for individual subjects and groups.
  • NBR: Network Based R-statistics for Mixed Effects Models
  • fslr: FSL-R Interface package

Citations

If you end up using brainconn() in a publication, please cite our paper, for which brainconn was created : Sidhant Chopra, Loïc Labache, Elvisha Dhamala, Edwina R Orchard, Avram Holmes (2023). A Practical Guide for Generating Reproducible and Programmatic Neuroimaging Visualizations ApertureNeuro.
https://doi.org/10.52294/001c.85104