bctpy

brain connectivity toolbox for python

https://github.com/aestrivex/bctpy

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    5 of 25 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary

Keywords from Contributors

neuroimaging neuroscience brain-imaging brainweb dataflow dataflow-programming workflow-engine bids fmri
Last synced: 11 months ago · JSON representation

Repository

brain connectivity toolbox for python

Basic Info
  • Host: GitHub
  • Owner: aestrivex
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 10.5 MB
Statistics
  • Stars: 323
  • Watchers: 21
  • Forks: 143
  • Open Issues: 35
  • Releases: 7
Created almost 13 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog License

README.md

Brain Connectivity Toolbox for Python version 0.6.1

Author: Roan LaPlante rlaplant@nmr.mgh.harvard.edu

Tested against python 3.7+.

Copyright information

This program strictly observes the tenets of fundamentalist Theravada Mahasi style Buddhism. Any use of this program in violation of these aforementioned tenets or in violation of the principles described in the Visuddhimagga Sutta is strictly prohibited and punishable by extensive Mahayana style practice. By being or not being mindful of the immediate present moment sensations involved in the use of this program, you confer your acceptance of these terms and conditions.

Note that the observation of the tenets of fundamentalist Theravada Mahasi style Buddhism and the Visuddhimagga Sutta is optional as long as the terms and conditions of the GNU GPLv3+ are upheld.

Packages used

BCTPY is written in pure python and requires only scipy and numpy. scipy is required for a couple of functions for its statistical and linear algebra packages which have some features not available in numpy alone. If you don't have scipy, most functions that do not need scipy functionality will still work.

Note that graphs must be passed in as numpy.array rather than numpy.matrix. Other constraints/edge cases of the adjacency matrices (e.g. self-loops, negative weights) behave similarly to the matlab functions.

A small number of functions also depend on networkx. This notably includes Network-Based Statistic, a nonparametric test for differences in undirected weighted graphs from different populations. Ideally this dependency should be removed in the future.

Nosetests is used for the test suite. The test suite is not complete.

About bctpy and other authors

BCT is a matlab toolbox with many graph theoretical measures off of which bctpy is based. I did not write BCT (apart from small bugfixes I have submitted) and a quality of life improvements that I have taken liberties to add. With few exceptions, bctpy is a direct translation of matlab code to python.

bctpy should be considered beta software, with BCT being the gold standard by comparison. I did my best to test all functionality in bctpy, but much of it is arcane math that flies over the head of this humble programmer. There are bugs lurking in bctpy, the question is not whether but how many. If you locate bugs, please consider submitting pull requests.

Many thanks to Stefan Fuertinger for his assistance tracking down a number of bugs. Stefan Fuertinger has a similar software package dealing with brain network functionality at http://research.mssm.edu/simonyanlab/analytical-tools/

Many thanks to Chris Barnes for his assistance in documenting a number of issues and facilitating a number of test cases.

Credit for writing BCT (the matlab version) goes to the following list of authors, especially Olaf Sporns and Mika Rubinov.

  • Olaf Sporns
  • Mikail Rubinov
  • Yusuke Adachi
  • Andrea Avena
  • Danielle Bassett
  • Richard Betzel
  • Joaquin Goni
  • Alexandros Goulas
  • Patric Hagmann
  • Christopher Honey
  • Martijn van den Heuvel
  • Rolf Kotter
  • Jonathan Power
  • Murray Shanahan
  • Andrew Zalesky

In order to be a bit more compact I have removed the accreditations from the docstrings each functions. This does not in any way mean that I wish to take credit from the individual contributions. I have moved these accreditations to the credits file.

Owner

  • Name: aestrivex
  • Login: aestrivex
  • Kind: user
  • Location: Ironton OH
  • Company: Martinos Center for Biomedical Imaging

GitHub Events

Total
  • Issues event: 3
  • Watch event: 23
  • Issue comment event: 3
  • Push event: 1
  • Pull request event: 1
  • Fork event: 4
Last Year
  • Issues event: 3
  • Watch event: 23
  • Issue comment event: 3
  • Push event: 1
  • Pull request event: 1
  • Fork event: 4

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 256
  • Total Committers: 25
  • Avg Commits per committer: 10.24
  • Development Distribution Score (DDS): 0.324
Past Year
  • Commits: 27
  • Committers: 5
  • Avg Commits per committer: 5.4
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
aestrivex a****x@g****m 173
clbarnes c****s@m****k 35
Chris Barnes b****c@j****g 17
Agoston Mihalik a****n@g****m 4
Victoria Shevchenko v****o@e****u 3
Ruediger Meier r****r@g****l 3
sviter s****3@g****m 2
poldrack p****k@g****m 2
Jacob T. Fisher j****r@g****m 1
James Kent j****t@u****u 1
Max Shinn m****1@c****k 1
Ari Kahn a****n@g****m 1
Maxwell Bertolero b****o@b****u 1
Joseph Downs J****s@j****u 1
Lia Domide l****e@g****m 1
L W lw@l****s 1
Murilo Schaefer m****r@g****m 1
frheault f****t@u****e 1
Pulkit Khandelwal k****5@g****m 1
carlo c****i@i****t 1
Ross Markello r****o@g****m 1
Anish a****l@g****m 1
Jan Fousek i****k@m****z 1
Julian Klug t****e@g****m 1
Pedro Constantino 4****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 77
  • Total pull requests: 37
  • Average time to close issues: over 1 year
  • Average time to close pull requests: about 2 months
  • Total issue authors: 52
  • Total pull request authors: 25
  • Average comments per issue: 1.84
  • Average comments per pull request: 0.22
  • Merged pull requests: 32
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: about 17 hours
  • Issue authors: 3
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • clbarnes (14)
  • JohannesWiesner (5)
  • aestrivex (3)
  • ignatenkobrain (2)
  • rschmaelzle (2)
  • rob-mccutcheon (2)
  • liadomide (2)
  • vinferrer (2)
  • leotrs (2)
  • faraix (1)
  • zewangnew (1)
  • PedroConst (1)
  • tjiagoM (1)
  • Pulkit-Khandelwal (1)
  • mdarnold1 (1)
Pull Request Authors
  • clbarnes (13)
  • mb3152 (1)
  • anaston (1)
  • aksimhal (1)
  • frheault (1)
  • jknox13 (1)
  • leotrs (1)
  • mwshinn (1)
  • PedroConst (1)
  • JulianKlug (1)
  • ncullen93 (1)
  • CarloNicolini (1)
  • Pulkit-Khandelwal (1)
  • MuriloSchaefer (1)
  • rmarkello (1)
Top Labels
Issue Labels
enhancement (10) needs investigation (10) bug (8) needs_input_sample (6) low_priority (4) question (3) duplicate (1) wontfix (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 10,012 last-month
  • Total dependent packages: 7
  • Total dependent repositories: 42
  • Total versions: 12
  • Total maintainers: 1
pypi.org: bctpy

Brain Connectivity Toolbox for Python

  • Versions: 12
  • Dependent Packages: 7
  • Dependent Repositories: 42
  • Downloads: 10,012 Last month
Rankings
Dependent packages count: 1.6%
Dependent repos count: 2.3%
Average: 3.3%
Stargazers count: 3.9%
Forks count: 4.2%
Downloads: 4.5%
Maintainers (1)
Last synced: 11 months ago

Dependencies

requirements.txt pypi
  • duecredit *
  • numpy *
  • pytest *
  • scipy *
  • setuptools *
  • tox *
setup.py pypi
  • numpy *
.github/workflows/ci.yaml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite