Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

License PyPI version doi Python versions Documentation Status

siibra - Software interface for interacting with brain atlases

Copyright 2018-2025, Forschungszentrum Jülich GmbH

Authors: Big Data Analytics Group, Institute of Neuroscience and Medicine (INM-1), Forschungszentrum Jülich GmbH

siibra-python is a Python client to a brain atlas framework that integrates brain parcellations and reference spaces at different spatial scales, and connects them with a broad range of multimodal regional data features. It aims to facilitate programmatic and reproducible incorporation of brain parcellations and brain region features from different sources into neuroscience workflows.

siibra provides structured access to parcellation schemes in different brain reference spaces, including volumetric reference templates at macroscopic and microscopic resolutions as well as surface representations. It supports both discretely labelled and statistical (probabilistic) parcellation maps, which can be used to assign brain regions to spatial locations and image signals, to retrieve region-specific neuroscience datasets from multiple online repositories, and to sample information from high-resolution image data. The datasets anchored to brain regions address features of molecular, cellular and architecture as well as connectivity, and are complemented with live queries to external repositories as well as dynamic extraction from “big” image volumes such as the 20 micrometer BigBrain model.

siibra hides much of the complexity that would be required to collect and interact with the individual parcellations, templates and data repositories. By encapsulating many aspects of interacting with different maps and reference templates spaces, it also minimizes common errors like misinterpretation of coordinates from different reference spaces, confusing label indices of brain regions, or using inconsistent versions of parcellation maps. It aims to provide a safe way of using maps defined across multiple spatial scales for reproducible analysis.

siibra was developed in the frame of the Human Brain Project for accessing the EBRAINS human brain atlas. It stores most of its contents as sustainable and open datasets in the EBRAINS Knowledge Graph, and is designed to support the OpenMINDS metadata standards. Its functionalities include common actions known from the interactive viewer siibra-explorer hosted at EBRAINS. In fact, the viewer is a good resource for exploring siibra’s core functionalities interactively: Selecting different parcellations, browsing and searching brain region hierarchies, downloading maps, identifying brain regions, and accessing multimodal features and connectivity information associated with brain regions. Feature queries in siibra are parameterized by data modality and anatomical location, while the latter could be a brain region, brain parcellation, or location in reference space. Beyond the explorative focus of siibra-explorer, the Python library supports a range of data analysis functions suitable for typical neuroscience workflows.

Installation

siibra is available on pypi. To install the latest released version, simply run pip install siibra. The installation typically takes about 2 minutes on a standard computer where Python is already installed. In order to work with the latest version from github, use pip install git+https://github.com/FZJ-INM1-BDA/siibra-python.git@main.

siibra-python should be installable on recent versions of Windows, Linux and Mac OS in a recent Python 3 environment. We run continuous integration tests for versions 3.7 - 3.12 on recent Ubuntu images.

The library requires a couple of open source packages, namely: ` anytree >= 2.12.1 nibabel >= 5.3.2 appdirs >= 1.4.4 scikit-image >= 0.25.0 requests >= 2.32.3 neuroglancer-scripts >= 1.2.0 nilearn >= 0.11.0 filelock >= 3.16.1 ebrains-drive >= 0.6.0 `

You can also install a docker image with all dependencies included: .. code-block:: sh

docker run -dit

-p 10000:8888 –rm –name siibra docker-registry.ebrains.eu/siibra/siibra-python:latest

Documentation & Help

siibra-python’s documentation is hosted on https://siibra-python.readthedocs.io. The documentation includes a catalogue of documented code examples that walk you through the different concepts and functionalities. These examples use real data and include both the code and the produced expected outputs. They can be accessed at https://siibra-python.readthedocs.io/en/latest/examples.html, and are automatically tested and updated whenever a new version of siibra-python is published. As a new user, it is recommended to go through these examples - they are easy and will quickly provide you with the right code snippets that get you started. The documentation on readthedocs further includes introductory explanations and an API reference.

If you run into issues, please open a ticket on EBRAINS support or file bugs and feature requests on github.

How to contribute

If you want to contribute to siibra, feel free to fork it and open a pull request with your changes. You are also welcome to contribute to discussions in the issue tracker and of course to report issues you are facing. If you find the software useful, please reference this repository URL in publications and derived work. You can also star the project to show us that you are using it.

Acknowledgements

This software code is funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).

How to cite

Please cite the version used according to the citation file or all versions by Timo Dickscheid, Xiayun Gui, Ahmet Nihat Simsek, Vadim Marcenko, Louisa Köhnen, Sebastian Bludau, & Katrin Amunts. (2023). siibra-python - Software interface for interacting with brain atlases. Zenodo. https://doi.org/10.5281/zenodo.7885728.

Versioning

Given a version number MAJOR.MINOR.PATCH, increments imply:
  • MAJOR: incompatible API changes

  • MINOR: a functionality in a backward compatible manner is added

  • PATCH: backward compatible bug fixes and new configuration added such as new maps or features

Pre-release

For x.y.z, a full release, - x.y.z-alpha.t is the development prerelease. By changing t, different siibra-configurations are targeted.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

siibra-1.0.1a20.tar.gz (607.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

siibra-1.0.1a20-py3-none-any.whl (672.6 kB view details)

Uploaded Python 3

File details

Details for the file siibra-1.0.1a20.tar.gz.

File metadata

  • Download URL: siibra-1.0.1a20.tar.gz
  • Upload date:
  • Size: 607.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for siibra-1.0.1a20.tar.gz
Algorithm Hash digest
SHA256 1926610c0b829a9a1caf25290ce747bacfe290f89f92c37417e45bb9b57e0a81
MD5 42a041baf53397bbc70adfe52137a3f9
BLAKE2b-256 febe1b7e34361aba064b6acbb95f4f01a15f687dfc9d6efba251e0c9d08ca6f8

See more details on using hashes here.

File details

Details for the file siibra-1.0.1a20-py3-none-any.whl.

File metadata

  • Download URL: siibra-1.0.1a20-py3-none-any.whl
  • Upload date:
  • Size: 672.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for siibra-1.0.1a20-py3-none-any.whl
Algorithm Hash digest
SHA256 dbbac8e2d72cd7c43fa7d29a68e5c9f0f5d76c761c495f84f985662193a5c075
MD5 414801c5b6073d4c0f469db279cd1ff8
BLAKE2b-256 55217159529b3d4ecfe8a2a69ad3e0e3b22ebbcf1416b13c81d93b49e183b527

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page