PyBispectra

PyBispectra: A toolbox for advanced electrophysiological signal processing using the bispectrum - Published in JOSS (2025)

https://github.com/braindatalab/pybispectra

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

amplitude-amplitude-coupling bicoherence bispectrum connectivity cross-frequency-coupling hpmax neuroscience non-sinusoidal phase-amplitude-coupling phase-phase-coupling python signal-processing spatiospectral spectral-analysis ssd time-delay-estimation waveform waveshape

Scientific Fields

Medicine Life Sciences - 84% confidence
Mathematics Computer Science - 84% confidence
Neuroscience Life Sciences - 63% confidence
Last synced: 4 months ago · JSON representation ·

Repository

A Python signal analysis toolbox for computing spectral-domain interactions using the bispectrum.

Basic Info
Statistics
  • Stars: 27
  • Watchers: 3
  • Forks: 7
  • Open Issues: 2
  • Releases: 5
Topics
amplitude-amplitude-coupling bicoherence bispectrum connectivity cross-frequency-coupling hpmax neuroscience non-sinusoidal phase-amplitude-coupling phase-phase-coupling python signal-processing spatiospectral spectral-analysis ssd time-delay-estimation waveform waveshape
Created almost 3 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

PyBispectra logo

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

Quality in Artificial Intelligence Labs Berlin

JOSS Publication

PyBispectra: A toolbox for advanced electrophysiological signal processing using the bispectrum
Published
August 20, 2025
Volume 10, Issue 112, Page 8504
Authors
Thomas S. Binns ORCID
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
Franziska Pellegrini ORCID
Bernstein Center for Computational Neuroscience Berlin, Germany, Berlin Center for Advanced Neuroimaging, Charité - Universitätsmedizin Berlin, Germany
Tin Jurhar ORCID
Electrical Engineering and Computer Science Department, Technische Universität Berlin, Germany, Donders Institute for Brain, Cognition and Behaviour, Radboud Universiteit, The Netherlands
Tien D. Nguyen ORCID
Bernstein Center for Computational Neuroscience Berlin, Germany, Berlin Center for Advanced Neuroimaging, Charité - Universitätsmedizin Berlin, Germany
Richard M. Köhler ORCID
Movement Disorders Unit, Charité - Universitätsmedizin Berlin, Germany
Stefan Haufe ORCID
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
Editor
Bonan Zhu ORCID
Tags
neuroscience signal processing bispectrum

Citation (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
dependencies (3) github_actions (1)

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.

  • Versions: 6
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 856 Last month
Rankings
Dependent packages count: 6.6%
Average: 18.6%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/release.yml actions
  • 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
.github/workflows/unit_tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • mamba-org/setup-micromamba v2 composite
  • pyvista/setup-headless-display-action main composite
docs/source/_static/versions.json meteor
pyproject.toml pypi
  • joblib *
  • matplotlib *
  • mne >1.6
  • numba *
  • numpy *
  • scipy *
environment.yml conda
  • joblib
  • matplotlib
  • mne >1.6
  • numba
  • numpy
  • python >=3.10
  • scipy