Brain Surrogate Maps with Autocorrelated Spatial Heterogeneity.


License
GPL-3.0
Install
pip install brainsmash==0.9.0

Documentation

BrainSMASH

BrainSMASH (Brain Surrogate Maps with Autocorrelated Spatial Heterogeneity) is a Python-based computational platform for statistical testing of spatially autocorrelated brain maps. At the heart of BrainSMASH is the ability to simulate surrogate brain maps with spatial autocorrelation that is matched to spatial autocorrelation in a target brain map. Additional utilities are provided for users using Connectome Workbench style surface-based neuroimaging files.

Exhaustive documentation can be found here.

Dependencies

Installing BrainSMASH requires:

If you wish to use the additional utilities provided for Connectome Workbench users, you must have Connectome Workbench installed with the wb_command executable locatable in your system PATH environment variable.

Installation


BrainSMASH is most easily installed using pip:

pip install brainsmash

You may also clone and install the source files manually:

git clone https://github.com/murraylab/brainsmash.git
cd brainsmash
python setup.py install

License

The BrainSMASH source code is available under the GNU General Public License v3.0.

Reference

Please cite the following paper if you use BrainSMASH in your research:

Burt, J.B., Helmer, M., Shinn, M.W., Anticevic, A., Murray, J.D. Generative modeling of brain maps with spatial autocorrelation. Neuroimage, 220 (2020).

Core development team

  • Joshua B Burt, Murray Lab - Yale University
  • John D Murray, Murray Lab - Yale University

Contributors

  • Ross Markello - Montreal Neurological Institute

Change Log


  • 0.11.0 Added return_data keyword argument to both variogram-plotting functions in the eval module, such that users can easily customize variogram plots to their liking and/or compute numerical goodness-of-fit metrics.
  • 0.10.0 Added batch processing to mapgen.Base thanks to contributions from Ross Markello. Note that generating surrogate maps before vs. after this update with the same random seed will yield different results due to a minor implementational change.
  • 0.9.0 Added multi-dimensional Spearman rank correlation to mapgen.stats module.
  • 0.8.0 Parallelization of surrogate map generation is now supported thanks to new contributions from Ross Markello!
  • 0.7.0 Added geo.volume method to compute 3D Euclidean distance matrix from an arbitrary set of voxel coordinates, per several requests.
  • 0.6.1 Surrogates maps are now de-meaned prior to returning (as the mean carries no information).
  • 0.6.0 Added unassigned_value kwarg to cortex and subcortex.
  • 0.5.2 Introduced a bug during the last bug fix.
  • 0.5.1 Fixed bug which caused distances to be written to file one-dimensionally.
  • 0.5.0 Updated geo.subcortex to have parallel structure with cortex.
  • 0.4.0 Replaced geo.cortex function with Ross' new implementation, in a backwards-compatible fashion.
  • 0.3.0 Added ability to set seed/random state in Base and Sampled classes.
  • 0.2.0 Added Ross Markello's implementation of Dijkstra's algorithm for efficiently computing surface-based distances.
  • 0.1.1 Fixed bug in NaN handling.
  • 0.1.0 Added goodness-of-fit metrics to stats module.
  • 0.0.9 Fixed bug in Sampled.sampled.permute_map().
  • 0.0.8 Relaxed nibabel version dependency.
  • 0.0.7 Removed console print statements.
  • 0.0.6 Fixed masked dense array handling.
  • 0.0.1 Initial beta release.