Implementation of Empirical Mode Decomposition (EMD) and its variations
Project description
|codecov| |BuildStatus| |DocStatus|
*****
PyEMD
*****
*The project is ongoing. This is very limited part of my private
collection, but before I upload everything I want to make sure it works
as it should. If there is something you wish to have, do email me as
there is high chance that I have already done it, but it just sits
around and waits until I'll have more time. Don't hesitate to contact me
for anything.*
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, like:
- Ensemble EMD (EEMD),
- Image decomposotion (EMD2D),
- 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 documentation.
EMD
===
In most cases default settings are enough. Simply
import ``EMD`` and pass your signal to ``emd()`` method.
.. code:: python
from PyEMD import EMD
import numpy as np
s = np.random.random(100)
emd = EMD()
IMFs = emd.emd(s)
The Figure below was produced with input:
:math:`S(t) = cos(22 \pi t^2) + 6t^2`
|simpleExample|
EEMD
====
Simplest case of using Esnembld EMD (EEMD) is by importing ``EEMD`` and passing your signal to ``eemd()`` method.
.. code:: python
from PyEMD import EEMD
import numpy as np
s = np.random.random(100)
eemd = EEMD()
eIMFs = eemd.eemd(s)
EMD2D
=====
Simplest case is to pass image as monochromatic numpy 2D array.
.. code:: 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.emd(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 ({my\_username}@gmail) or search me
favourite web search.
.. |codecov| image:: https://codecov.io/gh/laszukdawid/PyEMD/branch/master/graph/badge.svg
:target: https://codecov.io/gh/laszukdawid/PyEMD
.. |BuildStatus| image:: https://travis-ci.org/laszukdawid/PyEMD.png?branch=master
:target: https://travis-ci.org/laszukdawid/PyEMD
.. |DocStatus| image:: https://readthedocs.org/projects/pyemd/badge/?version=latest
:target: https://pyemd.readthedocs.io/
.. |simpleExample| image:: https://github.com/laszukdawid/PyEMD/raw/master/PyEMD/example/simple_example.png?raw=true
*****
PyEMD
*****
*The project is ongoing. This is very limited part of my private
collection, but before I upload everything I want to make sure it works
as it should. If there is something you wish to have, do email me as
there is high chance that I have already done it, but it just sits
around and waits until I'll have more time. Don't hesitate to contact me
for anything.*
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, like:
- Ensemble EMD (EEMD),
- Image decomposotion (EMD2D),
- 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 documentation.
EMD
===
In most cases default settings are enough. Simply
import ``EMD`` and pass your signal to ``emd()`` method.
.. code:: python
from PyEMD import EMD
import numpy as np
s = np.random.random(100)
emd = EMD()
IMFs = emd.emd(s)
The Figure below was produced with input:
:math:`S(t) = cos(22 \pi t^2) + 6t^2`
|simpleExample|
EEMD
====
Simplest case of using Esnembld EMD (EEMD) is by importing ``EEMD`` and passing your signal to ``eemd()`` method.
.. code:: python
from PyEMD import EEMD
import numpy as np
s = np.random.random(100)
eemd = EEMD()
eIMFs = eemd.eemd(s)
EMD2D
=====
Simplest case is to pass image as monochromatic numpy 2D array.
.. code:: 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.emd(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 ({my\_username}@gmail) or search me
favourite web search.
.. |codecov| image:: https://codecov.io/gh/laszukdawid/PyEMD/branch/master/graph/badge.svg
:target: https://codecov.io/gh/laszukdawid/PyEMD
.. |BuildStatus| image:: https://travis-ci.org/laszukdawid/PyEMD.png?branch=master
:target: https://travis-ci.org/laszukdawid/PyEMD
.. |DocStatus| image:: https://readthedocs.org/projects/pyemd/badge/?version=latest
:target: https://pyemd.readthedocs.io/
.. |simpleExample| image:: https://github.com/laszukdawid/PyEMD/raw/master/PyEMD/example/simple_example.png?raw=true
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
EMD-signal-0.2.1.tar.gz
(34.8 kB
view details)
Built Distribution
File details
Details for the file EMD-signal-0.2.1.tar.gz
.
File metadata
- Download URL: EMD-signal-0.2.1.tar.gz
- Upload date:
- Size: 34.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10f0f53c4b402ae55d2ea0ebcf25a73a18965ccba8b4790ae9da6085c57bfcc4 |
|
MD5 | 422de24bb1b5e61ae35be5fef284c0de |
|
BLAKE2b-256 | dcd2e5f1c82d0800fbc6ac8d00c4d96314362b8f4ef5fc38c822cd51224eb18f |
File details
Details for the file EMD_signal-0.2.1-py2.py3-none-any.whl
.
File metadata
- Download URL: EMD_signal-0.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 36.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bae32364d8f4eb9cbc203ede8aec0f61e65696fd8bf4fd993fd3e16c31c8e18 |
|
MD5 | 3bae265cf7a8fbe7072efa420e278e26 |
|
BLAKE2b-256 | 9afbb8e05f1d076c1d88ea004dbdc7121d575222ccd1ff5991451083d999e773 |