EMD

EMD: Empirical Mode Decomposition and Hilbert-Huang Spectral Analyses in Python - Published in JOSS (2021)

https://gitlab.com/emd-dev/emd

Science Score: 89.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
    5 of 14 committers (35.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

Empirical Mode Decomposition in Python <a href="https://gitlab.com/ajquinn/emd/commits/master"><img alt="pipeline status" src="https://gitlab.com/ajquinn/emd/badges/master/pipeline.svg" /></a>

Basic Info
  • Host: gitlab.com
  • Owner: emd-dev
  • License: gpl-3.0+
  • Default Branch: master
Statistics
  • Stars: 26
  • Forks: 24
  • Open Issues: 9
  • Releases: 0
Created over 6 years ago

https://gitlab.com/emd-dev/emd/blob/master/

A python package for Empirical Mode Decomposition and related spectral analyses.

Please note that this project is in active development for the moment - the API may change relatively quickly between releases!

# Installation

You can install the latest stable release from the PyPI repository

```
pip install emd
```

or clone and install the source code.

```
git clone https://gitlab.com/emd-dev/emd.git
cd emd
pip install .
```

Requirements are specified in requirements.txt. Main functionality only depends
on numpy and scipy for computation and matplotlib for visualisation.

# Quick Start

Full documentation can be found at https://emd.readthedocs.org and development/issue tracking at gitlab.com/emd-dev/emd

Import emd

```python
import emd
```

Define a simulated waveform containing a non-linear wave at 5Hz and a sinusoid at 1Hz.

```python
sample_rate = 1000
seconds = 10
num_samples = sample_rate*seconds

import numpy as np
time_vect = np.linspace(0, seconds, num_samples)

freq = 5
nonlinearity_deg = .25  # change extent of deformation from sinusoidal shape [-1 to 1]
nonlinearity_phi = -np.pi/4  # change left-right skew of deformation [-pi to pi]
x = emd.simulate.abreu2010(freq, nonlinearity_deg, nonlinearity_phi, sample_rate, seconds)
x += np.cos(2*np.pi*1*time_vect)
```

Estimate IMFs

```python
imf = emd.sift.sift(x)
```

Compute instantaneous frequency, phase and amplitude using the Normalised Hilbert Transform Method.

```python
IP, IF, IA = emd.spectra.frequency_transform(imf, sample_rate, 'hilbert')
```
Compute Hilbert-Huang spectrum

```python
freq_range = (0, 10, 100)  # 0 to 10Hz in 100 steps
f, hht = emd.spectra.hilberthuang(IF, IA, freq_range, sum_time=False)
```
```
Make a summary plot

```python
import matplotlib.pyplot as plt
plt.figure(figsize=(16, 8))
plt.subplot(211, frameon=False)
plt.plot(time_vect, x, 'k')
plt.plot(time_vect, imf[:, 0]-4, 'r')
plt.plot(time_vect, imf[:, 1]-8, 'g')
plt.plot(time_vect, imf[:, 2]-12, 'b')
plt.xlim(time_vect[0], time_vect[-1])
plt.grid(True)
plt.subplot(212)
plt.pcolormesh(time_vect, f, hht, cmap='ocean_r')
plt.ylabel('Frequency (Hz)')
plt.xlabel('Time (secs)')
plt.grid(True)
plt.show()
```

JOSS Publication

EMD: Empirical Mode Decomposition and Hilbert-Huang Spectral Analyses in Python
Published
March 31, 2021
Volume 6, Issue 59, Page 2977
Authors
Andrew J. Quinn
Oxford Centre for Human Brain Activity, Wellcome Centre for Integrative Neuroimaging, Department of Psychiatry, University of Oxford, Oxford, UK
Vitor Lopes-dos-Santos
Medical Research Council Brain Network Dynamics Unit, Nuffield Department of Clinical Neurosciences, University of Oxford, Oxford, OX1 3TH, United Kingdom
David Dupret
Medical Research Council Brain Network Dynamics Unit, Nuffield Department of Clinical Neurosciences, University of Oxford, Oxford, OX1 3TH, United Kingdom
Anna Christina Nobre
Oxford Centre for Human Brain Activity, Wellcome Centre for Integrative Neuroimaging, Department of Psychiatry, University of Oxford, Oxford, UK, Department of Experimental Psychology, University of Oxford, Oxford, OX2 6GG, UK
Mark W. Woolrich
Oxford Centre for Human Brain Activity, Wellcome Centre for Integrative Neuroimaging, Department of Psychiatry, University of Oxford, Oxford, UK
Editor
David P. Sanders ORCID
Tags
Time-series Non-linear Dynamics

Papers & Mentions

Total mentions: 2

Genome-wide measurement of spatial expression in patterning mutants of Drosophila melanogaster
Last synced: 3 months ago
The fractal organization of ultradian rhythms in avian behavior
Last synced: 3 months ago

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 597
  • Total Committers: 14
  • Avg Commits per committer: 42.643
  • Development Distribution Score (DDS): 0.288
Past Year
  • Commits: 2
  • Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Andrew Quinn a****n@p****k 425
Andrew Quinn a****1@g****m 141
marcoFabus m****s@n****k 12
ajquinn a****n@h****k 5
Mark Hymers m****s@y****k 3
David P. Sanders d****s@g****m 2
Jan C. Brammer j****r@g****m 2
AJQuinn A****n@u****m 1
Evan Edmond e****d@g****m 1
Lourenço A. Rodrigues l****s@g****m 1
Mark Hymers m****s@h****k 1
Mats m****s@p****k 1
Roland Widmer r****r@h****m 1
mhlg m****i@m****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 7,340 last-month
  • Total dependent packages: 6
    (may contain duplicates)
  • Total dependent repositories: 15
    (may contain duplicates)
  • Total versions: 24
  • Total maintainers: 1
pypi.org: emd

Empirical Mode Decomposition

  • Documentation: https://emd.readthedocs.io/
  • License: GNU General Public License v2 or later (GPLv2+)
  • Latest release: 0.8.1
    published 10 months ago
  • Versions: 19
  • Dependent Packages: 6
  • Dependent Repositories: 15
  • Downloads: 7,340 Last month
Rankings
Dependent packages count: 2.3%
Dependent repos count: 3.7%
Average: 4.1%
Downloads: 6.2%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: emd

Empirical Mode Decomposition tools in Python

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Forks count: 35.4%
Average: 41.9%
Stargazers count: 46.8%
Dependent packages count: 51.2%
Last synced: 4 months ago

Dependencies

requirements.txt pypi
  • coverage *
  • flake8 *
  • ipywidgets *
  • joblib *
  • matplotlib >=1.1.0
  • myst-parser *
  • numpy *
  • numpydoc *
  • pandas *
  • pydata-sphinx-theme *
  • pytest *
  • pytest-cov *
  • pyyaml >=5.1
  • scipy >1.0.0
  • setuptools >=41.0.1
  • sphinx_gallery *