Metadata-Version: 2.1
Name: cyclicityanalysis
Version: 1.0.2
Summary: Performs Cyclicity Analysis on A Collection of Time-Series
Author-email: Vivek Kaushik <vskaush2@illinois.edu>
License: MIT
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: pandas
Provides-Extra: optional_dependencies
Requires-Dist: pytest ; extra == 'optional_dependencies'
Requires-Dist: jupyter ; extra == 'optional_dependencies'
Requires-Dist: requests ; extra == 'optional_dependencies'
Requires-Dist: scipy ; extra == 'optional_dependencies'

# Cyclicity Analysis of Time-Series
This repository contains a working implementation of Cyclicity Analysis, which is a pattern recognition technique for analyzing the leader follower dynamics of multiple time-series.

Full documentation and an example Jupyter notebook are available in the [GitHub repository](https://github.com/vskaush2/cyclicityanalysis).

## Requirements
Download [Python >=3.7](https://www.python.org/downloads/)

## Installation

```bash
pip3 install cyclicityanalysis
```

## Usage

```python
from cyclicityanalysis.orientedarea import *
from cyclicityanalysis.coom import *

df = pd.DataFrame([[0, 1], [1, 0], [0, 0]], columns=['0', '1'])


oa = OrientedArea(df)
# Returns the lead lag matrix of df as a dataframe
lead_lag_df = oa.compute_lead_lag_df()

coom = COOM(lead_lag_df)
# Returns leading eigenvector of lead lag matrix as a numpy array
leading_eigenvector = coom.get_leading_eigenvector()
lead_lag_df , leading_eigenvector
 ```

## References 

* Cyclicity in Multivariate Time-series and Applications to Functional MRI data : [paper](https://ieeexplore.ieee.org/document/7798498)
* Dissociating Tinnitus Patients from Healthy Controls using Resting-state Cyclicity Analysis and Clustering : [paper](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6326732/)
* Slow Cortical Waves through Cyclicity Analysis : [paper](https://www.biorxiv.org/content/10.1101/2021.05.16.444387v2.full)
* Comparing Cyclicity Analysis With Pre-established Functional Connectivity Methods to Identify Individuals and Subject Groups Using Resting State fMRI : [paper](https://www.frontiersin.org/article/10.3389/fncom.2019.00094/full)


