Skip to content

Commit

Permalink
New release: 0.2.5. Cleaning, cleaning...
Browse files Browse the repository at this point in the history
  • Loading branch information
laszukdawid committed May 8, 2018
1 parent cede216 commit c2d7487
Show file tree
Hide file tree
Showing 9 changed files with 172 additions and 190 deletions.
File renamed without changes.
12 changes: 7 additions & 5 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
include .travis.yml
include *.md
include *.py
include setup.cfg
include MANIFEST.in
include README.rst
include README.md
include LICENCE.txt
include requirements.txt
include PyEMD

include PyEMD/tests/*.py
recursive-include PyEMD *.py
recursive-include example *.py
150 changes: 150 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
[![codecov](https://codecov.io/gh/laszukdawid/PyEMD/branch/master/graph/badge.svg)](https://codecov.io/gh/laszukdawid/PyEMD)
[![BuildStatus](https://travis-ci.org/laszukdawid/PyEMD.png?branch=master)](https://travis-ci.org/laszukdawid/PyEMD)
[![DocStatus](https://readthedocs.org/projects/pyemd/badge/?version=latest)](https://pyemd.readthedocs.io/)
![Codacy](https://api.codacy.com/project/badge/Grade/5385d5ddc8e84908bd4e38f325443a21%0A%20:alt:%20Codacy%20Badge%0A%20:target:%20https://www.codacy.com/app/laszukdawid/PyEMD?utm_source=github.com&utm_medium=referral&utm_content=laszukdawid/PyEMD&utm_campaign=badger)

# PyEMD

## Links

- HTML documentation: <https://pyemd.readthedocs.org>
- Issue tracker: <https://github.com/laszukdawid/pyemd/issues>
- Source code repository: <https://github.com/laszukdawid/pyemd>

## Introduction

This is yet another Python implementation of Empirical Mode
Decomposition (EMD). The package contains many EMD variations and
intends to deliver more in time.

### EMD variations:
* Ensemble EMD (EEMD),
* Image decomposition (EMD2D),
* "Complete Ensemble EMD" (CEEMDAN)
* different settings and configurations of vanilla EMD.

*PyEMD* allows to use different splines for envelopes, stopping criteria
and extrema interpolation.

### Available splines:
* Natural cubic [default]
* Pointwise cubic
* Akima
* Linear

### Available stopping criteria:
* Cauchy convergence [default]
* Fixed number of iterations
* Number of consecutive proto-imfs

### Extrema detection:
* Discrete extrema [default]
* Parabolic interpolation

## Installation

### Recommended

Simply download this directory either directly from GitHub, or using
command line:

> \$ git clone <https://github.com/laszukdawid/PyEMD>
Then go into the downloaded project and run from command line:

> \$ python setup.py install
### PyPi

Packaged obtained from PyPi is/will be slightly behind this project, so
some features might not be the same. However, it seems to be the
easiest/nicest way of installing any Python packages, so why not this
one?

> \$ pip install EMD-signal
## Example

More detailed examples are included in the
[documentation](https://pyemd.readthedocs.io/en/latest/examples.html) or
in the
[PyEMD/examples](https://github.com/laszukdawid/PyEMD/tree/master/example).

### EMD

In most cases default settings are enough. Simply import `EMD` and pass
your signal to instance or to `emd()` method.

```python
from PyEMD import EMD
import numpy as np

s = np.random.random(100)
emd = EMD()
IMFs = emd(s)
```

The Figure below was produced with input:
$S(t) = cos(22 \pi t^2) + 6t^2$

![simpleExample](https://github.com/laszukdawid/PyEMD/raw/master/example/simple_example.png?raw=true)

### EEMD

Simplest case of using Ensemble EMD (EEMD) is by importing `EEMD` and
passing your signal to the instance or `eemd()` method.

```python
from PyEMD import EEMD
import numpy as np

s = np.random.random(100)
eemd = EEMD()
eIMFs = eemd(s)
```

### CEEMDAN

As with previous methods, there is also simple way to use `CEEMDAN`.

```python
from PyEMD import CEEMDAN
import numpy as np

s = np.random.random(100)
ceemdan = CEEMDAN()
cIMFs = ceemdan(s)
```

### EMD2D

Simplest case is to pass image as monochromatic numpy 2D array. As with
other modules one can use default setting of instance or more explicitly
use `emd2d()` method.

```python
from PyEMD import EMD2D
import numpy as np

x, y = np.arange(128), np.arange(128).reshape((-1,1))
img = np.sin(0.1*x)*np.cos(0.2*y)
emd2d = EMD2D()
IMFs_2D = emd2d(img)
```

## Contact

Feel free to contact me with any questions, requests or simply saying
*hi*. It's always nice to know that I might have contributed to saving
someone's time or that I might improve my skills/projects.

Contact me either through gmail (laszukdawid @ gmail) or search me
favourite web search.

### Citation

If you found this package useful and would like to cite it in your work
please use following structure:

Dawid Laszuk (2017-), **Python implementation of Empirical Mode
Decomposition algorithm**. <http://www.laszukdawid.com/codes>.
169 changes: 0 additions & 169 deletions README.rst

This file was deleted.

4 changes: 2 additions & 2 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@
# built documents.
#
# The short X.Y version.
version = u'0.2.03'
version = u'0.2.5'
# The full version, including alpha/beta/rc tags.
release = u'0.2.03'
release = u'0.2.5'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
Binary file modified example/simple_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions requirements-extra.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
numpy>=1.12
numpydoc
scipy>=0.19
matplotlib
pathos>=0.2.1
scikit-image>=0.13
6 changes: 2 additions & 4 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
numpy
numpydoc
numpy>=1.12
scipy>=0.19
matplotlib
pathos
pathos>=0.2.1
scikit-image>=0.13
Loading

0 comments on commit c2d7487

Please sign in to comment.