yet another brain plot
Project description
yabplot: yet another brain plot
yabplot is a Python library for creating beautiful, publication-quality 3D brain visualizations. it supports plotting cortical regions, subcortical structures, and white matter bundles.
the idea is simple. while there are already amazing visualization tools available, they often focus on specific domains—using one tool for white matter tracts and another for cortical surfaces inevitably leads to inconsistent styles. i wanted a unified, simple-to-use tool that enables me (and hopefully others) to perform most brain visualizations in a single place. recognizing that neuroscience evolves daily, i designed yabplot to be modular: it supports standard pre-packaged atlases out of the box, but easily accepts any custom parcellation or tractography dataset you might need.
features
- pre-existing atlases: access many commonly used atlases (schaefer2018, brainnetome, aparc, aseg, musus100, xtract, etc) on demand.
- simple to use: plug-n-play functions for cortex, subcortex, and tracts with a unified API.
- custom atlases: easily use your own parcellations, segmentations (.nii/.gii), or tractograms (.trk).
- flexible inputs: accepts data as dictionaries (for partial mapping) or arrays (for strict mapping).
installation
uv add yabplot
or
pip install yabplot
dependencies: python 3.11 with ipywidgets, nibabel, pandas, pooch, pyvista, scikit-image, trame, trame-vtk, trame-vuetify
quick start
please refer to the documentation for more comprehensive guides.
import yabplot as yab
import numpy as np
# see available cortical atlases
atlases = yab.get_available_resources(category='cortical')
# see the region names within the aseg atlas
regions = yab.get_atlas_regions(atlas='aseg', category='subcortical')
# plot data on cortical regions
data = np.arange(0, 1, 0.001)
yab.plot_cortical(data=data, atlas='schaefer_1000', figsize=(600, 300),
cmap='viridis', vminmax=[0, 1], style='default',
views=['left_lateral', 'superior', 'right_lateral'])
# plot values for specific subcortical regions
data = {'Left_Amygdala': 0.8, 'Right_Hippocampus': 0.5,
'Right_Thalamus': -0.5, 'Left_Putamen': -1}
yab.plot_subcortical(data=data, atlas='aseg', figsize=(600, 450), layout=(2, 2),
views=['superior', 'anterior', 'left_lateral', 'right_lateral'],
cmap='coolwarm', vminmax=[-1, 1], style='matte')
# plot data on white matter bundles
regions = yab.get_atlas_regions(atlas='xtract_tiny', category='tracts')
data = np.arange(0, len(regions))
yab.plot_tracts(data=data, atlas='xtract_tiny', figsize=(600, 300),
views=['superior', 'anterior', 'left_lateral'], nan_color='#cccccc',
bmesh_type='fsaverage', style='default', cmap='plasma')
acknowledgements
yabplot relies on the extensive work of the neuroimaging community. if you use these atlases in your work, please cite the original authors. if you use this package for any scientific work, please cite the DOI (see more info on Zenodo).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yabplot-0.1.1.tar.gz.
File metadata
- Download URL: yabplot-0.1.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f905d813f18b46c9263eded79eddee54094ddcaeaa405444a3b0154a2058bdc8
|
|
| MD5 |
1f2558ef0b6e300847f90d03309aa729
|
|
| BLAKE2b-256 |
34d070f523fa1f5184fd8e8cfd444eb3c0e8f8c0e2f40f41700608faf6de4578
|
Provenance
The following attestation bundles were made for yabplot-0.1.1.tar.gz:
Publisher:
publish.yml on teanijarv/yabplot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yabplot-0.1.1.tar.gz -
Subject digest:
f905d813f18b46c9263eded79eddee54094ddcaeaa405444a3b0154a2058bdc8 - Sigstore transparency entry: 820372818
- Sigstore integration time:
-
Permalink:
teanijarv/yabplot@d1e95391b7f3beb8d8dbdf532155e36a73ab5266 -
Branch / Tag:
refs/tags/0.1.1 - Owner: https://github.com/teanijarv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d1e95391b7f3beb8d8dbdf532155e36a73ab5266 -
Trigger Event:
release
-
Statement type:
File details
Details for the file yabplot-0.1.1-py3-none-any.whl.
File metadata
- Download URL: yabplot-0.1.1-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
970b96486a9ccdd0114b584c8cfb2be2afc82c40c57a3339e4c59ad47b0d3c0f
|
|
| MD5 |
82b22c40aeb9cc1872af4365be2cb34a
|
|
| BLAKE2b-256 |
56113718071f57353e0f05c35807bd5ce62be3840e3e97361539e49d2bc0cdd6
|
Provenance
The following attestation bundles were made for yabplot-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on teanijarv/yabplot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yabplot-0.1.1-py3-none-any.whl -
Subject digest:
970b96486a9ccdd0114b584c8cfb2be2afc82c40c57a3339e4c59ad47b0d3c0f - Sigstore transparency entry: 820372825
- Sigstore integration time:
-
Permalink:
teanijarv/yabplot@d1e95391b7f3beb8d8dbdf532155e36a73ab5266 -
Branch / Tag:
refs/tags/0.1.1 - Owner: https://github.com/teanijarv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d1e95391b7f3beb8d8dbdf532155e36a73ab5266 -
Trigger Event:
release
-
Statement type: