https://github.com/etiennecmb/tensorpac
Phase-Amplitude Coupling under Python
https://github.com/etiennecmb/tensorpac
amplitude coupling event-related filtering neuroscience oscillations pac parallel-computing phase phase-amplitude-coupling tensor
Last synced: about 1 year ago
JSON representation
Phase-Amplitude Coupling under Python
- Host: GitHub
- URL: https://github.com/etiennecmb/tensorpac
- Owner: EtienneCmb
- License: bsd-3-clause
- Created: 2017-06-04T13:47:18.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-30T12:42:12.000Z (almost 2 years ago)
- Last Synced: 2025-03-30T07:08:23.364Z (about 1 year ago)
- Topics: amplitude, coupling, event-related, filtering, neuroscience, oscillations, pac, parallel-computing, phase, phase-amplitude-coupling, tensor
- Language: Python
- Homepage: https://etiennecmb.github.io/tensorpac/
- Size: 117 MB
- Stars: 106
- Watchers: 9
- Forks: 29
- Open Issues: 9
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
=========
Tensorpac
=========
.. image:: https://github.com/EtienneCmb/tensorpac/workflows/Tensorpac/badge.svg
:target: https://github.com/EtienneCmb/tensorpac/workflows/Tensorpac
.. image:: https://travis-ci.org/EtienneCmb/tensorpac.svg?branch=master
:target: https://travis-ci.org/EtienneCmb/tensorpac
.. image:: https://circleci.com/gh/EtienneCmb/tensorpac/tree/master.svg?style=svg
:target: https://circleci.com/gh/EtienneCmb/tensorpac/tree/master
.. image:: https://ci.appveyor.com/api/projects/status/0arxtw05583gc3e2/branch/master?svg=true
:target: https://ci.appveyor.com/project/EtienneCmb/tensorpac/branch/master
.. image:: https://codecov.io/gh/EtienneCmb/tensorpac/branch/master/graph/badge.svg
:target: https://codecov.io/gh/EtienneCmb/tensorpac
.. image:: https://badge.fury.io/py/tensorpac.svg
:target: https://badge.fury.io/py/tensorpac
.. image:: https://pepy.tech/badge/tensorpac
:target: https://pepy.tech/project/tensorpac
.. image:: https://badges.gitter.im/EtienneCmb/tensorpac.svg
:target: https://gitter.im/EtienneCmb/tensorpac?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
.. image:: https://zenodo.org/badge/93316276.svg
:target: https://zenodo.org/badge/latestdoi/93316276
.. figure:: https://github.com/EtienneCmb/tensorpac/blob/master/docs/source/picture/tp.png
:align: center
Description
-----------
Tensorpac is an Python open-source toolbox for computing Phase-Amplitude Coupling (PAC) using tensors and parallel computing for an efficient, and highly flexible modular implementation of PAC metrics both known and novel. Check out our `documentation `_ for details.
Installation
------------
Tensorpac uses NumPy, SciPy and joblib for parallel computing. To get started, just open your terminal and run :
.. code-block:: console
$ pip install tensorpac
Code snippet & illustration
---------------------------
.. code-block:: python
from tensorpac import Pac
from tensorpac.signals import pac_signals_tort
# Dataset of signals artificially coupled between 10hz and 100hz :
n_epochs = 20 # number of trials
n_times = 4000 # number of time points
sf = 512. # sampling frequency
# Create artificially coupled signals using Tort method :
data, time = pac_signals_tort(f_pha=10, f_amp=100, noise=2, n_epochs=n_epochs,
dpha=10, damp=10, sf=sf, n_times=n_times)
# Define a Pac object
p = Pac(idpac=(6, 0, 0), f_pha='hres', f_amp='hres')
# Filter the data and extract pac
xpac = p.filterfit(sf, data)
# plot your Phase-Amplitude Coupling :
p.comodulogram(xpac.mean(-1), cmap='Spectral_r', plotas='contour', ncontours=5,
title=r'10hz phase$\Leftrightarrow$100Hz amplitude coupling',
fz_title=14, fz_labels=13)
p.show()
.. figure:: https://github.com/EtienneCmb/tensorpac/blob/master/docs/source/picture/readme.png
:align: center
Cite Tensorpac
--------------
Tensorpac software has been published in `PLoS Computational Biology `_
Use the following Bibtex entry to cite it :
.. code-block:: latex
@article{combrisson_tensorpac_2020,
title = {Tensorpac: {An} open-source {Python} toolbox for tensor-based phase-amplitude coupling measurement in electrophysiological brain signals},
volume = {16},
issn = {1553-7358},
shorttitle = {Tensorpac},
doi = {10.1371/journal.pcbi.1008302},
language = {eng},
number = {10},
journal = {PLoS computational biology},
author = {Combrisson, Etienne and Nest, Timothy and Brovelli, Andrea and Ince, Robin A. A. and Soto, Juan L. P. and Guillot, Aymeric and Jerbi, Karim},
month = oct,
year = {2020},
pmid = {33119593},
pmcid = {PMC7654762},
pages = {e1008302},
}