PyBispectra
PyBispectra: A toolbox for advanced electrophysiological signal processing using the bispectrum - Published in JOSS (2025)
Science Score: 98.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Scientific Fields
Repository
A Python signal analysis toolbox for computing spectral-domain interactions using the bispectrum.
Basic Info
- Host: GitHub
- Owner: braindatalab
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://pybispectra.readthedocs.io/en/main/
- Size: 26.7 MB
Statistics
- Stars: 27
- Watchers: 3
- Forks: 7
- Open Issues: 2
- Releases: 5
Topics
Metadata Files
README.md

A Python signal processing package for computing spectral- and time-domain interactions using the bispectrum.
This package provides the tools for computing phase-amplitude coupling, time delay estimation, and wave shape features using the bispectrum and bicoherence. Additional tools for computing amplitude-amplitude coupling, phase-phase coupling, and spatio-spectral filters are also provided.
Parallel processing and Numba optimisation are implemented to reduce computation times.
Analysis of phase-amplitude coupling, time delays, and non-sinusoidal waveshape provide important insights into electrophysiology data, but traditional analysis methods have critical limitations. In contrast, the bispectrum - the Fourier transform of the third order moment - offers approaches to perform such analyses whilst overcoming many of the limitations of traditional methods.
Installation & Requirements:
Install the package into the desired environment using pip: pip install pybispectra
More information on the installation page.
Use:
To get started with the toolbox, check out the documentation and examples.
For instance, given some epoched time series, data, phase-amplitude coupling can be computed as:
```python from pybispectra import PAC, compute_fft
coeffs, freqs = computefft(data, samplingfreq) # compute spectral coeffs pac = PAC(coeffs, freqs, samplingfreq) # initialise coupling object pac.compute() # compute phase-amplitude coupling pacresults = pac.results # extract results pac_results.plot() # plot results ```
Contributing & Development:
If you encounter issues with the package, want to suggest improvements, or have made any changes which you would like to see officially supported, please refer to the development page. A unit test suite is included and must be expanded where necessary to validate any changes.
Citing:
If you use this toolbox in your work, please include the following citation:
Binns, TS, Pellegrini, F, Jurhar, T, Nguyen, TD, Köhler, RM, & Haufe, S (2025). PyBispectra: A toolbox for advanced electrophysiological signal processing using the bispectrum. Journal of Open Source Software. DOI: 10.21105/joss.08504
Owner
- Name: QAI Labs
- Login: braindatalab
- Kind: organization
- Location: Berlin, Germany
- Website: tu.berlin/uniml
- Twitter: QAILabs
- Repositories: 13
- Profile: https://github.com/braindatalab
Quality in Artificial Intelligence Labs Berlin
JOSS Publication
PyBispectra: A toolbox for advanced electrophysiological signal processing using the bispectrum
Authors
Movement Disorders Unit, Charité - Universitätsmedizin Berlin, Germany, Einstein Center for Neurosciences Berlin, Charité - Universitätsmedizin Berlin, Germany, Bernstein Center for Computational Neuroscience Berlin, Germany
Bernstein Center for Computational Neuroscience Berlin, Germany, Berlin Center for Advanced Neuroimaging, Charité - Universitätsmedizin Berlin, Germany
Electrical Engineering and Computer Science Department, Technische Universität Berlin, Germany, Donders Institute for Brain, Cognition and Behaviour, Radboud Universiteit, The Netherlands
Bernstein Center for Computational Neuroscience Berlin, Germany, Berlin Center for Advanced Neuroimaging, Charité - Universitätsmedizin Berlin, Germany
Einstein Center for Neurosciences Berlin, Charité - Universitätsmedizin Berlin, Germany, Bernstein Center for Computational Neuroscience Berlin, Germany, Berlin Center for Advanced Neuroimaging, Charité - Universitätsmedizin Berlin, Germany, Electrical Engineering and Computer Science Department, Technische Universität Berlin, Germany, Physikalisch-Technische Bundesanstalt Braunschweig und Berlin, Germany
Tags
neuroscience signal processing bispectrumCitation (CITATION.cff)
cff-version: "1.2.0"
authors:
- family-names: Binns
given-names: Thomas S.
orcid: "https://orcid.org/0000-0003-0657-0891"
- family-names: Pellegrini
given-names: Franziska
orcid: "https://orcid.org/0000-0001-9769-1597"
- family-names: Jurhar
given-names: Tin
orcid: "https://orcid.org/0000-0002-8804-2349"
- family-names: Nguyen
given-names: Tien D.
orcid: "https://orcid.org/0009-0008-9867-0964"
- family-names: Köhler
given-names: Richard M.
orcid: "https://orcid.org/0000-0002-5219-1289"
- family-names: Haufe
given-names: Stefan
orcid: "https://orcid.org/0000-0003-1470-9195"
contact:
- family-names: Binns
given-names: Thomas S.
orcid: "https://orcid.org/0000-0003-0657-0891"
doi: 10.5281/zenodo.16882137
message: If you use this software, please cite our article in the
Journal of Open Source Software.
preferred-citation:
authors:
- family-names: Binns
given-names: Thomas S.
orcid: "https://orcid.org/0000-0003-0657-0891"
- family-names: Pellegrini
given-names: Franziska
orcid: "https://orcid.org/0000-0001-9769-1597"
- family-names: Jurhar
given-names: Tin
orcid: "https://orcid.org/0000-0002-8804-2349"
- family-names: Nguyen
given-names: Tien D.
orcid: "https://orcid.org/0009-0008-9867-0964"
- family-names: Köhler
given-names: Richard M.
orcid: "https://orcid.org/0000-0002-5219-1289"
- family-names: Haufe
given-names: Stefan
orcid: "https://orcid.org/0000-0003-1470-9195"
date-published: 2025-08-20
doi: 10.21105/joss.08504
issn: 2475-9066
issue: 112
journal: Journal of Open Source Software
publisher:
name: Open Journals
start: 8504
title: "PyBispectra: A toolbox for advanced electrophysiological
signal processing using the bispectrum"
type: article
url: "https://joss.theoj.org/papers/10.21105/joss.08504"
volume: 10
title: "PyBispectra: A toolbox for advanced electrophysiological signal
processing using the bispectrum"
GitHub Events
Total
- Create event: 36
- Issues event: 4
- Release event: 3
- Watch event: 7
- Delete event: 31
- Issue comment event: 5
- Push event: 67
- Pull request review comment event: 7
- Pull request review event: 42
- Pull request event: 105
- Fork event: 2
Last Year
- Create event: 36
- Issues event: 4
- Release event: 3
- Watch event: 7
- Delete event: 31
- Issue comment event: 5
- Push event: 67
- Pull request review comment event: 7
- Pull request review event: 42
- Pull request event: 105
- Fork event: 2
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 5
- Total pull requests: 146
- Average time to close issues: 3 months
- Average time to close pull requests: about 10 hours
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 0.01
- Merged pull requests: 123
- Bot issues: 0
- Bot pull requests: 76
Past Year
- Issues: 2
- Pull requests: 141
- Average time to close issues: about 14 hours
- Average time to close pull requests: about 10 hours
- Issue authors: 1
- Pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 0.01
- Merged pull requests: 118
- Bot issues: 0
- Bot pull requests: 76
Top Authors
Issue Authors
- tsbinns (4)
- quentinmoreau (1)
Pull Request Authors
- pre-commit-ci[bot] (73)
- tsbinns (70)
- dependabot[bot] (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 856 last-month
- Total dependent packages: 1
- Total dependent repositories: 0
- Total versions: 6
- Total maintainers: 1
pypi.org: pybispectra
A Python signal processing package for computing spectral-domain and time-domain interactions using the bispectrum.
- Homepage: https://github.com/braindatalab/PyBispectra
- Documentation: https://pybispectra.readthedocs.io/
- License: MIT License
-
Latest release: 1.2.2
published 4 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- mamba-org/setup-micromamba v2 composite
- pyvista/setup-headless-display-action main composite
- joblib *
- matplotlib *
- mne >1.6
- numba *
- numpy *
- scipy *
- joblib
- matplotlib
- mne >1.6
- numba
- numpy
- python >=3.10
- scipy