# voytekresearch/pacpy

Calculate phase-amplitude coupling in Python (and Matlab).
Switch branches/tags
Nothing to show
Latest commit 0cf3ed0 Jul 15, 2017
 Failed to load latest commit information. dist Sep 8, 2016 pacpy.egg-info Sep 8, 2016 pacpy Dec 16, 2016 .gitignore Dec 16, 2016 .travis.yml Dec 1, 2015 LICENSE.md Aug 12, 2015 README.md Jul 15, 2017 requirements.txt May 26, 2016 setup.cfg Aug 26, 2015 setup.py Sep 8, 2016

# pacpy

A module to calculate phase-amplitude coupling in Python.

## Note: pactools

Pacpy is no longer actively supported, but it is in a stable state. For an actively maintained package, we recommend pactools. Note that these two packages may give different results when using the default filter parameters.

## Demo

A Binder demo, complete with simulated data, can be found here.

## Install

``````pip install pacpy
``````

Tested on Linux (Ubuntu 4.10), OS X (10.10.4), and Windows 9.

## Dependencies

• numpy
• scipy
• pytest (optional)

That is , we assume Anaconda is installed.

## Matlab

The wrapper for MATLAB can be found at, https://github.com/voytekresearch/pacmat

## Usage

An example of calculating PAC from two simulated voltage signals using the phase-locking value (PLV) method:

```import numpy as np
from scipy.signal import hilbert
from pacpy.pac import plv

t = np.arange(0, 10, .001) # Define time array
lo = np.sin(t * 2 * np.pi * 6) # Create low frequency carrier
hi = np.sin(t * 2 * np.pi * 100) # Create modulated oscillation
hi[np.angle(hilbert(lo)) > -np.pi*.5] = 0 # Clip to 1/4 of cycle

plv(lo, hi, (4,8), (80,150)) # Calculate PAC```
``````0.99863308613553081
``````