PySDKit 0.4.7__tar.gz → 0.4.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pysdkit-0.4.8/PKG-INFO +149 -0
- pysdkit-0.4.8/PySDKit.egg-info/PKG-INFO +149 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/PySDKit.egg-info/SOURCES.txt +26 -9
- pysdkit-0.4.8/README.md +114 -0
- pysdkit-0.4.8/pysdkit/__init__.py +29 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/data/__init__.py +3 -0
- pysdkit-0.4.8/pysdkit/data/texture.txt +256 -0
- pysdkit-0.4.8/pysdkit/ewt/__init__.py +9 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/ewt/ewt.py +51 -39
- pysdkit-0.4.8/pysdkit/faemd/__init__.py +6 -0
- pysdkit-0.4.8/pysdkit/faemd/faemd.py +24 -0
- pysdkit-0.4.8/pysdkit/faemd/md_faemd.py +24 -0
- pysdkit-0.4.8/pysdkit/faemd/mv_faemd.py +24 -0
- pysdkit-0.4.8/pysdkit/fmd/__init__.py +6 -0
- pysdkit-0.4.8/pysdkit/fmd/fmd.py +176 -0
- pysdkit-0.4.8/pysdkit/ifd/__init__.py +7 -0
- pysdkit-0.4.8/pysdkit/itd/__init__.py +7 -0
- pysdkit-0.4.8/pysdkit/itd/itd.py +158 -0
- pysdkit-0.4.8/pysdkit/lmd/__init__.py +9 -0
- pysdkit-0.4.8/pysdkit/lmd/lmd.py +250 -0
- pysdkit-0.4.8/pysdkit/lmd/rlmd.py +23 -0
- pysdkit-0.4.8/pysdkit/plot/__init__.py +14 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/plot/_fourier_spectra.py +2 -1
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/plot/_plot_imfs.py +16 -6
- pysdkit-0.4.8/pysdkit/plot/plot_GrayScale.py +49 -0
- pysdkit-0.4.8/pysdkit/tvf_emd/__init__.py +7 -0
- pysdkit-0.4.8/pysdkit/tvf_emd/tvf_emd.py +554 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/utils/__init__.py +7 -0
- pysdkit-0.4.8/pysdkit/utils/instantaneous.py +224 -0
- pysdkit-0.4.8/pysdkit/vmd/__init__.py +14 -0
- pysdkit-0.4.8/pysdkit/vmd/acmd.py +207 -0
- pysdkit-0.4.8/pysdkit/vmd/avmd.py +24 -0
- PySDKit-0.4.7/pysdkit/vmd/_mvmd.py → pysdkit-0.4.8/pysdkit/vmd/mvmd.py +6 -3
- pysdkit-0.4.8/pysdkit/vmd/svmd.py +324 -0
- PySDKit-0.4.7/pysdkit/vmd/_vmd_c.py → pysdkit-0.4.8/pysdkit/vmd/vmd_c.py +13 -8
- PySDKit-0.4.7/pysdkit/vmd/_vmd_f.py → pysdkit-0.4.8/pysdkit/vmd/vmd_f.py +5 -4
- pysdkit-0.4.8/pysdkit/vmd2d/__init__.py +6 -0
- pysdkit-0.4.8/pysdkit/vmd2d/vmd2d.py +19 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/vncmd/vncmd.py +2 -2
- {PySDKit-0.4.7 → pysdkit-0.4.8}/setup.py +7 -5
- PySDKit-0.4.7/LICENSE +0 -121
- PySDKit-0.4.7/PKG-INFO +0 -94
- PySDKit-0.4.7/PySDKit.egg-info/PKG-INFO +0 -94
- PySDKit-0.4.7/README.md +0 -71
- PySDKit-0.4.7/pysdkit/__init__.py +0 -14
- PySDKit-0.4.7/pysdkit/ewt/__init__.py +0 -2
- PySDKit-0.4.7/pysdkit/metrics/__init__.py +0 -7
- PySDKit-0.4.7/pysdkit/plot/__init__.py +0 -2
- PySDKit-0.4.7/pysdkit/plot/main.py +0 -4
- PySDKit-0.4.7/pysdkit/vmd/__init__.py +0 -4
- PySDKit-0.4.7/pysdkit/vmd/_avmd.py +0 -20
- PySDKit-0.4.7/pysdkit/vmd/_svmd.py +0 -21
- {PySDKit-0.4.7 → pysdkit-0.4.8}/PySDKit.egg-info/dependency_links.txt +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/PySDKit.egg-info/requires.txt +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/PySDKit.egg-info/top_level.txt +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/data/_add_noise.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/data/_generator.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/emd/BEMD.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/emd/EMD.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/emd/__init__.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/emd/_find_extrema.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/emd/_prepare_points.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/emd/_splines.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/emd2d/__init__.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/plot/_functions.py +0 -0
- {PySDKit-0.4.7/pysdkit/metrics → pysdkit-0.4.8/pysdkit/utils}/_Index_of_Orthogonality.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/utils/_differ.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/utils/_fft.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/utils/_function.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/utils/_smooth1d.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/utils/hilbert.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/utils/mirror.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/utils/process.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/vmd/base.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/pysdkit/vncmd/__init__.py +0 -0
- {PySDKit-0.4.7 → pysdkit-0.4.8}/setup.cfg +0 -0
pysdkit-0.4.8/PKG-INFO
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: PySDKit
|
|
3
|
+
Version: 0.4.8
|
|
4
|
+
Summary: A Python library for signal decomposition algorithms with a unified interface.
|
|
5
|
+
Home-page: https://github.com/wwhenxuan/PySDKit
|
|
6
|
+
Author: whenxuan
|
|
7
|
+
Author-email: wwhenxuan@gmail.com
|
|
8
|
+
Keywords: signal decomposition,signal processing,machine learning
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Intended Audience :: Science/Research
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
12
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Requires-Python: >=3.6
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
Requires-Dist: numpy<=1.26.4,>=1.24.3
|
|
23
|
+
Requires-Dist: scipy<=1.13.1,>=1.11.1
|
|
24
|
+
Requires-Dist: matplotlib<=3.8.4,>=3.7.2
|
|
25
|
+
Dynamic: author
|
|
26
|
+
Dynamic: author-email
|
|
27
|
+
Dynamic: classifier
|
|
28
|
+
Dynamic: description
|
|
29
|
+
Dynamic: description-content-type
|
|
30
|
+
Dynamic: home-page
|
|
31
|
+
Dynamic: keywords
|
|
32
|
+
Dynamic: requires-dist
|
|
33
|
+
Dynamic: requires-python
|
|
34
|
+
Dynamic: summary
|
|
35
|
+
|
|
36
|
+
# PySDKit: signal decomposition in Python
|
|
37
|
+
|
|
38
|
+
<div align="center">
|
|
39
|
+
|
|
40
|
+
[](https://pypi.org/project/PySDKit/)
|
|
41
|
+

|
|
42
|
+
[](https://codecov.io/gh/wwhenxuan/PySDKit)
|
|
43
|
+
[](https://arxiv.org/abs/1234.56789)
|
|
44
|
+
[](https://pepy.tech/project/pysdkit)
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
A Python library for signal decomposition algorithms 🥳
|
|
48
|
+
|
|
49
|
+
<img src="https://raw.githubusercontent.com/wwhenxuan/PySDKit/main/images/Logo_sd.png" alt="Logo_sd" width="500"/>
|
|
50
|
+
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
## Installation 🚀
|
|
54
|
+
|
|
55
|
+
You can install `PySDKit` through pip:
|
|
56
|
+
|
|
57
|
+
~~~
|
|
58
|
+
pip install pysdkit
|
|
59
|
+
~~~
|
|
60
|
+
|
|
61
|
+
We only used [`NumPy`](https://numpy.org/), [`Scipy`](https://scipy.org/) and [`matplotlib`](https://matplotlib.org/) when developing the project.
|
|
62
|
+
|
|
63
|
+
## Example script ✨
|
|
64
|
+
|
|
65
|
+
This project integrates simple signal processing methods, signal decomposition and visualization, and builds a general interface similar to [`Scikit-learn`](https://scikit-learn.org/stable/). It is mainly divided into three steps:
|
|
66
|
+
1. Import the signal decomposition method;
|
|
67
|
+
2. Create an instance for signal decomposition;
|
|
68
|
+
3. Use the `fit_transform` method to implement signal decomposition;
|
|
69
|
+
4. Visualize and analyze the original signal and the intrinsic mode functions IMFs obtained by decomposition.
|
|
70
|
+
|
|
71
|
+
~~~python
|
|
72
|
+
from pysdkit import EMD
|
|
73
|
+
from pysdkit.data import test_emd
|
|
74
|
+
from pysdkit.plot import plot_IMFs
|
|
75
|
+
|
|
76
|
+
t, signal = test_emd()
|
|
77
|
+
|
|
78
|
+
# create an instance for signal decomposition
|
|
79
|
+
emd = EMD()
|
|
80
|
+
# implement signal decomposition
|
|
81
|
+
IMFs = emd.fit_transform(signal, max_imf=2)
|
|
82
|
+
plot_IMFs(signal, IMFs)
|
|
83
|
+
~~~
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
|
|
87
|
+
The EMD in the above example is the most classic [`empirical mode decomposition`](https://www.mathworks.com/help/signal/ref/emd.html) algorithm in signal decomposition. For more complex signals, you can try other algorithms such as variational mode decomposition ([`VMD`](https://ieeexplore.ieee.org/abstract/document/6655981)).
|
|
88
|
+
|
|
89
|
+
~~~python
|
|
90
|
+
import numpy as np
|
|
91
|
+
from pysdkit import VMD
|
|
92
|
+
|
|
93
|
+
# load new signal
|
|
94
|
+
signal = np.load("./example/example.npy")
|
|
95
|
+
|
|
96
|
+
# use variational mode decomposition
|
|
97
|
+
vmd = VMD(alpha=500, K=3, tau=0.0, tol=1e-9)
|
|
98
|
+
IMFs = vmd.fit_transform(signal=signal)
|
|
99
|
+
print(IMFs.shape)
|
|
100
|
+
|
|
101
|
+
vmd.plot_IMFs(save_figure=True)
|
|
102
|
+
~~~
|
|
103
|
+
|
|
104
|
+

|
|
105
|
+
|
|
106
|
+
Better observe the characteristics of the decomposed intrinsic mode function in the frequency domain.
|
|
107
|
+
|
|
108
|
+
~~~python
|
|
109
|
+
from pysdkit.plot import plot_IMFs_amplitude_spectra
|
|
110
|
+
|
|
111
|
+
# frequency domain visualization
|
|
112
|
+
plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
113
|
+
~~~
|
|
114
|
+
|
|
115
|
+

|
|
116
|
+
|
|
117
|
+
## Target 🎯
|
|
118
|
+
|
|
119
|
+
| Algorithm | Paper | Code | State |
|
|
120
|
+
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
|
|
121
|
+
| EMD (Empirical Mode Decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/help/signal/ref/emd.html) | ✔️ |
|
|
122
|
+
| MEMD (Multivariate Empirical Mode Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/full/10.1098/rspa.2009.0502) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
123
|
+
| BEMD (Bidimensional Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0262885603000945) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/BEMD.py) | ✖️ |
|
|
124
|
+
| CEMD (Complex Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/4063369) | [[code]]() | ✖️ |
|
|
125
|
+
| EEMD (Ensemble Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/topics/physics-and-astronomy/ensemble-empirical-mode-decomposition) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✖️ |
|
|
126
|
+
| REMD (Robust Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0019057821003785) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/70032-robust-empirical-mode-decomposition-remd) | ✖️ |
|
|
127
|
+
| BMEMD (Bidimensional Multivariate Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8805082) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/72343-bidimensional-multivariate-empirical-mode-decomposition?s_tid=FX_rc1_behav) | ✖️ |
|
|
128
|
+
| CEEMDAN (Complete Ensemble EMD with Adaptive Noise) | [[paper]](https://ieeexplore.ieee.org/document/5947265) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✖️ |
|
|
129
|
+
| TVF_EMD (Time Varying Filter Based EMD) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168417301135) | [[code]](https://github.com/stfbnc/pytvfemd/tree/master) | ✔️ |
|
|
130
|
+
| FAEMD (Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
131
|
+
| MV_FAEMD (Multivariate Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
132
|
+
| MD_FAEMD (Multidimensional Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
133
|
+
| LMD (Local Mean Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S1051200418308133?via%3Dihub) | [[code]](https://github.com/shownlin/PyLMD/blob/master/PyLMD/LMD.py) | ✔️ |
|
|
134
|
+
| RLMD (Robust Local Mean Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327017301619) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/66935-robust-local-mean-decomposition-rlmd) | ✖️ |
|
|
135
|
+
| FMD (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✖️ |
|
|
136
|
+
| EWT (Empirical Wavelet Transform) | [[paper]](https://ieeexplore.ieee.org/document/6522142) | [[code]](https://www.mathworks.com/help/wavelet/ug/empirical-wavelet-transform.html) | ✔️ |
|
|
137
|
+
| EWT2D (2D Empirical Wavelet Transform) | [[paper]](https://arxiv.org/abs/2405.06188) | [[code]](https://github.com/bhurat/EWT-Python) | ✖️ |
|
|
138
|
+
| VMD (Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/6655981) | [[code]](https://github.com/vrcarva/vmdpy) | ✔️ |
|
|
139
|
+
| MVMD (Multivariate Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8890883) | [[code]](https://github.com/yunyueye/MVMD) | ✔️ |
|
|
140
|
+
| VMD2D (Two-Dimensional Variational Mode Decomposition) | [[paper]](https://ww3.math.ucla.edu/camreport/cam14-16.pdf) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/45918-two-dimensional-variational-mode-decomposition?s_tid=srchtitle) | ✖️ |
|
|
141
|
+
| SVMD (Successive Variational Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168420301535) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/98649-successive-variational-mode-decomposition-svmd-m?s_tid=FX_rc3_behav) | ✖️ |
|
|
142
|
+
| VNCMD (Variational Nonlinear Chirp Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/7990179) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/64292-variational-nonlinear-chirp-mode-decomposition) | ✔️ |
|
|
143
|
+
| MNCMD (Multivariate Nonlinear Chirp Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0165168420302103) | [[code]]() | ✖️ |
|
|
144
|
+
| AVNCMD (Adaptive Variational Nonlinear Chirp Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/9746147) | [[code]](https://github.com/HauLiang/AVNCMD) | ✖️ |
|
|
145
|
+
| ACMD (Adaptive Chirp Mode Decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/121373-data-driven-adaptive-chirp-mode-decomposition?s_tid=srchtitle) | ✔️ |
|
|
146
|
+
| BA-ACMD (Bandwidth-aware adaptive chirp mode decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/132792-bandwidth-aware-adaptive-chirp-mode-decomposition-ba-acmd?s_tid=srchtitle) | ✖️ |
|
|
147
|
+
| JMD (Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/169388-jump-plus-am-fm-mode-decomposition-jmd?s_tid=prof_contriblnk) | ✖️ |
|
|
148
|
+
| MJMD (Multivariate Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://ms-intl.mathworks.com/matlabcentral/fileexchange/169393-multivariate-jump-plus-am-fm-mode-decomposition-mjmd?s_tid=FX_rc2_behav) | ✖️ |
|
|
149
|
+
| ESMD (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✖️ |
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: PySDKit
|
|
3
|
+
Version: 0.4.8
|
|
4
|
+
Summary: A Python library for signal decomposition algorithms with a unified interface.
|
|
5
|
+
Home-page: https://github.com/wwhenxuan/PySDKit
|
|
6
|
+
Author: whenxuan
|
|
7
|
+
Author-email: wwhenxuan@gmail.com
|
|
8
|
+
Keywords: signal decomposition,signal processing,machine learning
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Intended Audience :: Science/Research
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
12
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Requires-Python: >=3.6
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
Requires-Dist: numpy<=1.26.4,>=1.24.3
|
|
23
|
+
Requires-Dist: scipy<=1.13.1,>=1.11.1
|
|
24
|
+
Requires-Dist: matplotlib<=3.8.4,>=3.7.2
|
|
25
|
+
Dynamic: author
|
|
26
|
+
Dynamic: author-email
|
|
27
|
+
Dynamic: classifier
|
|
28
|
+
Dynamic: description
|
|
29
|
+
Dynamic: description-content-type
|
|
30
|
+
Dynamic: home-page
|
|
31
|
+
Dynamic: keywords
|
|
32
|
+
Dynamic: requires-dist
|
|
33
|
+
Dynamic: requires-python
|
|
34
|
+
Dynamic: summary
|
|
35
|
+
|
|
36
|
+
# PySDKit: signal decomposition in Python
|
|
37
|
+
|
|
38
|
+
<div align="center">
|
|
39
|
+
|
|
40
|
+
[](https://pypi.org/project/PySDKit/)
|
|
41
|
+

|
|
42
|
+
[](https://codecov.io/gh/wwhenxuan/PySDKit)
|
|
43
|
+
[](https://arxiv.org/abs/1234.56789)
|
|
44
|
+
[](https://pepy.tech/project/pysdkit)
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
A Python library for signal decomposition algorithms 🥳
|
|
48
|
+
|
|
49
|
+
<img src="https://raw.githubusercontent.com/wwhenxuan/PySDKit/main/images/Logo_sd.png" alt="Logo_sd" width="500"/>
|
|
50
|
+
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
## Installation 🚀
|
|
54
|
+
|
|
55
|
+
You can install `PySDKit` through pip:
|
|
56
|
+
|
|
57
|
+
~~~
|
|
58
|
+
pip install pysdkit
|
|
59
|
+
~~~
|
|
60
|
+
|
|
61
|
+
We only used [`NumPy`](https://numpy.org/), [`Scipy`](https://scipy.org/) and [`matplotlib`](https://matplotlib.org/) when developing the project.
|
|
62
|
+
|
|
63
|
+
## Example script ✨
|
|
64
|
+
|
|
65
|
+
This project integrates simple signal processing methods, signal decomposition and visualization, and builds a general interface similar to [`Scikit-learn`](https://scikit-learn.org/stable/). It is mainly divided into three steps:
|
|
66
|
+
1. Import the signal decomposition method;
|
|
67
|
+
2. Create an instance for signal decomposition;
|
|
68
|
+
3. Use the `fit_transform` method to implement signal decomposition;
|
|
69
|
+
4. Visualize and analyze the original signal and the intrinsic mode functions IMFs obtained by decomposition.
|
|
70
|
+
|
|
71
|
+
~~~python
|
|
72
|
+
from pysdkit import EMD
|
|
73
|
+
from pysdkit.data import test_emd
|
|
74
|
+
from pysdkit.plot import plot_IMFs
|
|
75
|
+
|
|
76
|
+
t, signal = test_emd()
|
|
77
|
+
|
|
78
|
+
# create an instance for signal decomposition
|
|
79
|
+
emd = EMD()
|
|
80
|
+
# implement signal decomposition
|
|
81
|
+
IMFs = emd.fit_transform(signal, max_imf=2)
|
|
82
|
+
plot_IMFs(signal, IMFs)
|
|
83
|
+
~~~
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
|
|
87
|
+
The EMD in the above example is the most classic [`empirical mode decomposition`](https://www.mathworks.com/help/signal/ref/emd.html) algorithm in signal decomposition. For more complex signals, you can try other algorithms such as variational mode decomposition ([`VMD`](https://ieeexplore.ieee.org/abstract/document/6655981)).
|
|
88
|
+
|
|
89
|
+
~~~python
|
|
90
|
+
import numpy as np
|
|
91
|
+
from pysdkit import VMD
|
|
92
|
+
|
|
93
|
+
# load new signal
|
|
94
|
+
signal = np.load("./example/example.npy")
|
|
95
|
+
|
|
96
|
+
# use variational mode decomposition
|
|
97
|
+
vmd = VMD(alpha=500, K=3, tau=0.0, tol=1e-9)
|
|
98
|
+
IMFs = vmd.fit_transform(signal=signal)
|
|
99
|
+
print(IMFs.shape)
|
|
100
|
+
|
|
101
|
+
vmd.plot_IMFs(save_figure=True)
|
|
102
|
+
~~~
|
|
103
|
+
|
|
104
|
+

|
|
105
|
+
|
|
106
|
+
Better observe the characteristics of the decomposed intrinsic mode function in the frequency domain.
|
|
107
|
+
|
|
108
|
+
~~~python
|
|
109
|
+
from pysdkit.plot import plot_IMFs_amplitude_spectra
|
|
110
|
+
|
|
111
|
+
# frequency domain visualization
|
|
112
|
+
plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
113
|
+
~~~
|
|
114
|
+
|
|
115
|
+

|
|
116
|
+
|
|
117
|
+
## Target 🎯
|
|
118
|
+
|
|
119
|
+
| Algorithm | Paper | Code | State |
|
|
120
|
+
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
|
|
121
|
+
| EMD (Empirical Mode Decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/help/signal/ref/emd.html) | ✔️ |
|
|
122
|
+
| MEMD (Multivariate Empirical Mode Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/full/10.1098/rspa.2009.0502) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
123
|
+
| BEMD (Bidimensional Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0262885603000945) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/BEMD.py) | ✖️ |
|
|
124
|
+
| CEMD (Complex Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/4063369) | [[code]]() | ✖️ |
|
|
125
|
+
| EEMD (Ensemble Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/topics/physics-and-astronomy/ensemble-empirical-mode-decomposition) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✖️ |
|
|
126
|
+
| REMD (Robust Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0019057821003785) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/70032-robust-empirical-mode-decomposition-remd) | ✖️ |
|
|
127
|
+
| BMEMD (Bidimensional Multivariate Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8805082) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/72343-bidimensional-multivariate-empirical-mode-decomposition?s_tid=FX_rc1_behav) | ✖️ |
|
|
128
|
+
| CEEMDAN (Complete Ensemble EMD with Adaptive Noise) | [[paper]](https://ieeexplore.ieee.org/document/5947265) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✖️ |
|
|
129
|
+
| TVF_EMD (Time Varying Filter Based EMD) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168417301135) | [[code]](https://github.com/stfbnc/pytvfemd/tree/master) | ✔️ |
|
|
130
|
+
| FAEMD (Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
131
|
+
| MV_FAEMD (Multivariate Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
132
|
+
| MD_FAEMD (Multidimensional Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
133
|
+
| LMD (Local Mean Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S1051200418308133?via%3Dihub) | [[code]](https://github.com/shownlin/PyLMD/blob/master/PyLMD/LMD.py) | ✔️ |
|
|
134
|
+
| RLMD (Robust Local Mean Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327017301619) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/66935-robust-local-mean-decomposition-rlmd) | ✖️ |
|
|
135
|
+
| FMD (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✖️ |
|
|
136
|
+
| EWT (Empirical Wavelet Transform) | [[paper]](https://ieeexplore.ieee.org/document/6522142) | [[code]](https://www.mathworks.com/help/wavelet/ug/empirical-wavelet-transform.html) | ✔️ |
|
|
137
|
+
| EWT2D (2D Empirical Wavelet Transform) | [[paper]](https://arxiv.org/abs/2405.06188) | [[code]](https://github.com/bhurat/EWT-Python) | ✖️ |
|
|
138
|
+
| VMD (Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/6655981) | [[code]](https://github.com/vrcarva/vmdpy) | ✔️ |
|
|
139
|
+
| MVMD (Multivariate Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8890883) | [[code]](https://github.com/yunyueye/MVMD) | ✔️ |
|
|
140
|
+
| VMD2D (Two-Dimensional Variational Mode Decomposition) | [[paper]](https://ww3.math.ucla.edu/camreport/cam14-16.pdf) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/45918-two-dimensional-variational-mode-decomposition?s_tid=srchtitle) | ✖️ |
|
|
141
|
+
| SVMD (Successive Variational Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168420301535) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/98649-successive-variational-mode-decomposition-svmd-m?s_tid=FX_rc3_behav) | ✖️ |
|
|
142
|
+
| VNCMD (Variational Nonlinear Chirp Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/7990179) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/64292-variational-nonlinear-chirp-mode-decomposition) | ✔️ |
|
|
143
|
+
| MNCMD (Multivariate Nonlinear Chirp Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0165168420302103) | [[code]]() | ✖️ |
|
|
144
|
+
| AVNCMD (Adaptive Variational Nonlinear Chirp Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/9746147) | [[code]](https://github.com/HauLiang/AVNCMD) | ✖️ |
|
|
145
|
+
| ACMD (Adaptive Chirp Mode Decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/121373-data-driven-adaptive-chirp-mode-decomposition?s_tid=srchtitle) | ✔️ |
|
|
146
|
+
| BA-ACMD (Bandwidth-aware adaptive chirp mode decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/132792-bandwidth-aware-adaptive-chirp-mode-decomposition-ba-acmd?s_tid=srchtitle) | ✖️ |
|
|
147
|
+
| JMD (Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/169388-jump-plus-am-fm-mode-decomposition-jmd?s_tid=prof_contriblnk) | ✖️ |
|
|
148
|
+
| MJMD (Multivariate Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://ms-intl.mathworks.com/matlabcentral/fileexchange/169393-multivariate-jump-plus-am-fm-mode-decomposition-mjmd?s_tid=FX_rc2_behav) | ✖️ |
|
|
149
|
+
| ESMD (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✖️ |
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
LICENSE
|
|
2
1
|
README.md
|
|
3
2
|
setup.py
|
|
4
3
|
PySDKit.egg-info/PKG-INFO
|
|
@@ -10,6 +9,7 @@ pysdkit/__init__.py
|
|
|
10
9
|
pysdkit/data/__init__.py
|
|
11
10
|
pysdkit/data/_add_noise.py
|
|
12
11
|
pysdkit/data/_generator.py
|
|
12
|
+
pysdkit/data/texture.txt
|
|
13
13
|
pysdkit/emd/BEMD.py
|
|
14
14
|
pysdkit/emd/EMD.py
|
|
15
15
|
pysdkit/emd/__init__.py
|
|
@@ -19,27 +19,44 @@ pysdkit/emd/_splines.py
|
|
|
19
19
|
pysdkit/emd2d/__init__.py
|
|
20
20
|
pysdkit/ewt/__init__.py
|
|
21
21
|
pysdkit/ewt/ewt.py
|
|
22
|
-
pysdkit/
|
|
23
|
-
pysdkit/
|
|
22
|
+
pysdkit/faemd/__init__.py
|
|
23
|
+
pysdkit/faemd/faemd.py
|
|
24
|
+
pysdkit/faemd/md_faemd.py
|
|
25
|
+
pysdkit/faemd/mv_faemd.py
|
|
26
|
+
pysdkit/fmd/__init__.py
|
|
27
|
+
pysdkit/fmd/fmd.py
|
|
28
|
+
pysdkit/ifd/__init__.py
|
|
29
|
+
pysdkit/itd/__init__.py
|
|
30
|
+
pysdkit/itd/itd.py
|
|
31
|
+
pysdkit/lmd/__init__.py
|
|
32
|
+
pysdkit/lmd/lmd.py
|
|
33
|
+
pysdkit/lmd/rlmd.py
|
|
24
34
|
pysdkit/plot/__init__.py
|
|
25
35
|
pysdkit/plot/_fourier_spectra.py
|
|
26
36
|
pysdkit/plot/_functions.py
|
|
27
37
|
pysdkit/plot/_plot_imfs.py
|
|
28
|
-
pysdkit/plot/
|
|
38
|
+
pysdkit/plot/plot_GrayScale.py
|
|
39
|
+
pysdkit/tvf_emd/__init__.py
|
|
40
|
+
pysdkit/tvf_emd/tvf_emd.py
|
|
41
|
+
pysdkit/utils/_Index_of_Orthogonality.py
|
|
29
42
|
pysdkit/utils/__init__.py
|
|
30
43
|
pysdkit/utils/_differ.py
|
|
31
44
|
pysdkit/utils/_fft.py
|
|
32
45
|
pysdkit/utils/_function.py
|
|
33
46
|
pysdkit/utils/_smooth1d.py
|
|
34
47
|
pysdkit/utils/hilbert.py
|
|
48
|
+
pysdkit/utils/instantaneous.py
|
|
35
49
|
pysdkit/utils/mirror.py
|
|
36
50
|
pysdkit/utils/process.py
|
|
37
51
|
pysdkit/vmd/__init__.py
|
|
38
|
-
pysdkit/vmd/
|
|
39
|
-
pysdkit/vmd/
|
|
40
|
-
pysdkit/vmd/_svmd.py
|
|
41
|
-
pysdkit/vmd/_vmd_c.py
|
|
42
|
-
pysdkit/vmd/_vmd_f.py
|
|
52
|
+
pysdkit/vmd/acmd.py
|
|
53
|
+
pysdkit/vmd/avmd.py
|
|
43
54
|
pysdkit/vmd/base.py
|
|
55
|
+
pysdkit/vmd/mvmd.py
|
|
56
|
+
pysdkit/vmd/svmd.py
|
|
57
|
+
pysdkit/vmd/vmd_c.py
|
|
58
|
+
pysdkit/vmd/vmd_f.py
|
|
59
|
+
pysdkit/vmd2d/__init__.py
|
|
60
|
+
pysdkit/vmd2d/vmd2d.py
|
|
44
61
|
pysdkit/vncmd/__init__.py
|
|
45
62
|
pysdkit/vncmd/vncmd.py
|
pysdkit-0.4.8/README.md
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# PySDKit: signal decomposition in Python
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
[](https://pypi.org/project/PySDKit/)
|
|
6
|
+

|
|
7
|
+
[](https://codecov.io/gh/wwhenxuan/PySDKit)
|
|
8
|
+
[](https://arxiv.org/abs/1234.56789)
|
|
9
|
+
[](https://pepy.tech/project/pysdkit)
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
A Python library for signal decomposition algorithms 🥳
|
|
13
|
+
|
|
14
|
+
<img src="https://raw.githubusercontent.com/wwhenxuan/PySDKit/main/images/Logo_sd.png" alt="Logo_sd" width="500"/>
|
|
15
|
+
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
## Installation 🚀
|
|
19
|
+
|
|
20
|
+
You can install `PySDKit` through pip:
|
|
21
|
+
|
|
22
|
+
~~~
|
|
23
|
+
pip install pysdkit
|
|
24
|
+
~~~
|
|
25
|
+
|
|
26
|
+
We only used [`NumPy`](https://numpy.org/), [`Scipy`](https://scipy.org/) and [`matplotlib`](https://matplotlib.org/) when developing the project.
|
|
27
|
+
|
|
28
|
+
## Example script ✨
|
|
29
|
+
|
|
30
|
+
This project integrates simple signal processing methods, signal decomposition and visualization, and builds a general interface similar to [`Scikit-learn`](https://scikit-learn.org/stable/). It is mainly divided into three steps:
|
|
31
|
+
1. Import the signal decomposition method;
|
|
32
|
+
2. Create an instance for signal decomposition;
|
|
33
|
+
3. Use the `fit_transform` method to implement signal decomposition;
|
|
34
|
+
4. Visualize and analyze the original signal and the intrinsic mode functions IMFs obtained by decomposition.
|
|
35
|
+
|
|
36
|
+
~~~python
|
|
37
|
+
from pysdkit import EMD
|
|
38
|
+
from pysdkit.data import test_emd
|
|
39
|
+
from pysdkit.plot import plot_IMFs
|
|
40
|
+
|
|
41
|
+
t, signal = test_emd()
|
|
42
|
+
|
|
43
|
+
# create an instance for signal decomposition
|
|
44
|
+
emd = EMD()
|
|
45
|
+
# implement signal decomposition
|
|
46
|
+
IMFs = emd.fit_transform(signal, max_imf=2)
|
|
47
|
+
plot_IMFs(signal, IMFs)
|
|
48
|
+
~~~
|
|
49
|
+
|
|
50
|
+

|
|
51
|
+
|
|
52
|
+
The EMD in the above example is the most classic [`empirical mode decomposition`](https://www.mathworks.com/help/signal/ref/emd.html) algorithm in signal decomposition. For more complex signals, you can try other algorithms such as variational mode decomposition ([`VMD`](https://ieeexplore.ieee.org/abstract/document/6655981)).
|
|
53
|
+
|
|
54
|
+
~~~python
|
|
55
|
+
import numpy as np
|
|
56
|
+
from pysdkit import VMD
|
|
57
|
+
|
|
58
|
+
# load new signal
|
|
59
|
+
signal = np.load("./example/example.npy")
|
|
60
|
+
|
|
61
|
+
# use variational mode decomposition
|
|
62
|
+
vmd = VMD(alpha=500, K=3, tau=0.0, tol=1e-9)
|
|
63
|
+
IMFs = vmd.fit_transform(signal=signal)
|
|
64
|
+
print(IMFs.shape)
|
|
65
|
+
|
|
66
|
+
vmd.plot_IMFs(save_figure=True)
|
|
67
|
+
~~~
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
|
|
71
|
+
Better observe the characteristics of the decomposed intrinsic mode function in the frequency domain.
|
|
72
|
+
|
|
73
|
+
~~~python
|
|
74
|
+
from pysdkit.plot import plot_IMFs_amplitude_spectra
|
|
75
|
+
|
|
76
|
+
# frequency domain visualization
|
|
77
|
+
plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
78
|
+
~~~
|
|
79
|
+
|
|
80
|
+

|
|
81
|
+
|
|
82
|
+
## Target 🎯
|
|
83
|
+
|
|
84
|
+
| Algorithm | Paper | Code | State |
|
|
85
|
+
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
|
|
86
|
+
| EMD (Empirical Mode Decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/help/signal/ref/emd.html) | ✔️ |
|
|
87
|
+
| MEMD (Multivariate Empirical Mode Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/full/10.1098/rspa.2009.0502) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
88
|
+
| BEMD (Bidimensional Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0262885603000945) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/BEMD.py) | ✖️ |
|
|
89
|
+
| CEMD (Complex Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/4063369) | [[code]]() | ✖️ |
|
|
90
|
+
| EEMD (Ensemble Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/topics/physics-and-astronomy/ensemble-empirical-mode-decomposition) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✖️ |
|
|
91
|
+
| REMD (Robust Empirical Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0019057821003785) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/70032-robust-empirical-mode-decomposition-remd) | ✖️ |
|
|
92
|
+
| BMEMD (Bidimensional Multivariate Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8805082) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/72343-bidimensional-multivariate-empirical-mode-decomposition?s_tid=FX_rc1_behav) | ✖️ |
|
|
93
|
+
| CEEMDAN (Complete Ensemble EMD with Adaptive Noise) | [[paper]](https://ieeexplore.ieee.org/document/5947265) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✖️ |
|
|
94
|
+
| TVF_EMD (Time Varying Filter Based EMD) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168417301135) | [[code]](https://github.com/stfbnc/pytvfemd/tree/master) | ✔️ |
|
|
95
|
+
| FAEMD (Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
96
|
+
| MV_FAEMD (Multivariate Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
97
|
+
| MD_FAEMD (Multidimensional Fast and Adaptive EMD) | [[paper]](https://ieeexplore.ieee.org/document/8447300) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/71270-fast-and-adaptive-multivariate-and-multidimensional-emd) | ✖️ |
|
|
98
|
+
| LMD (Local Mean Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S1051200418308133?via%3Dihub) | [[code]](https://github.com/shownlin/PyLMD/blob/master/PyLMD/LMD.py) | ✔️ |
|
|
99
|
+
| RLMD (Robust Local Mean Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327017301619) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/66935-robust-local-mean-decomposition-rlmd) | ✖️ |
|
|
100
|
+
| FMD (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✖️ |
|
|
101
|
+
| EWT (Empirical Wavelet Transform) | [[paper]](https://ieeexplore.ieee.org/document/6522142) | [[code]](https://www.mathworks.com/help/wavelet/ug/empirical-wavelet-transform.html) | ✔️ |
|
|
102
|
+
| EWT2D (2D Empirical Wavelet Transform) | [[paper]](https://arxiv.org/abs/2405.06188) | [[code]](https://github.com/bhurat/EWT-Python) | ✖️ |
|
|
103
|
+
| VMD (Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/6655981) | [[code]](https://github.com/vrcarva/vmdpy) | ✔️ |
|
|
104
|
+
| MVMD (Multivariate Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8890883) | [[code]](https://github.com/yunyueye/MVMD) | ✔️ |
|
|
105
|
+
| VMD2D (Two-Dimensional Variational Mode Decomposition) | [[paper]](https://ww3.math.ucla.edu/camreport/cam14-16.pdf) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/45918-two-dimensional-variational-mode-decomposition?s_tid=srchtitle) | ✖️ |
|
|
106
|
+
| SVMD (Successive Variational Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168420301535) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/98649-successive-variational-mode-decomposition-svmd-m?s_tid=FX_rc3_behav) | ✖️ |
|
|
107
|
+
| VNCMD (Variational Nonlinear Chirp Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/7990179) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/64292-variational-nonlinear-chirp-mode-decomposition) | ✔️ |
|
|
108
|
+
| MNCMD (Multivariate Nonlinear Chirp Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0165168420302103) | [[code]]() | ✖️ |
|
|
109
|
+
| AVNCMD (Adaptive Variational Nonlinear Chirp Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/9746147) | [[code]](https://github.com/HauLiang/AVNCMD) | ✖️ |
|
|
110
|
+
| ACMD (Adaptive Chirp Mode Decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/121373-data-driven-adaptive-chirp-mode-decomposition?s_tid=srchtitle) | ✔️ |
|
|
111
|
+
| BA-ACMD (Bandwidth-aware adaptive chirp mode decomposition) | [[paper]]() | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/132792-bandwidth-aware-adaptive-chirp-mode-decomposition-ba-acmd?s_tid=srchtitle) | ✖️ |
|
|
112
|
+
| JMD (Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/169388-jump-plus-am-fm-mode-decomposition-jmd?s_tid=prof_contriblnk) | ✖️ |
|
|
113
|
+
| MJMD (Multivariate Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://ms-intl.mathworks.com/matlabcentral/fileexchange/169393-multivariate-jump-plus-am-fm-mode-decomposition-mjmd?s_tid=FX_rc2_behav) | ✖️ |
|
|
114
|
+
| ESMD (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✖️ |
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 经验模态分解算法
|
|
2
|
+
from .emd import EMD
|
|
3
|
+
|
|
4
|
+
# 基于时变滤波器的经验模态分解
|
|
5
|
+
from .tvf_emd import TVF_EMD
|
|
6
|
+
|
|
7
|
+
# 变分模态分解算法
|
|
8
|
+
from .vmd import vmd, VMD
|
|
9
|
+
|
|
10
|
+
# 自适应调频模态分解
|
|
11
|
+
from .vmd import ACMD
|
|
12
|
+
|
|
13
|
+
# 多元变分模态分解算法
|
|
14
|
+
from .vmd import MVMD
|
|
15
|
+
|
|
16
|
+
# 非线性啁啾模式分解
|
|
17
|
+
from .vncmd import VNCMD
|
|
18
|
+
|
|
19
|
+
# 经验小波变换
|
|
20
|
+
from .ewt import ewt, EWT
|
|
21
|
+
|
|
22
|
+
# 本征时间尺度分解
|
|
23
|
+
from .itd import ITD
|
|
24
|
+
|
|
25
|
+
# 局部均值分解
|
|
26
|
+
from .lmd import LMD
|
|
27
|
+
|
|
28
|
+
# 稳健局部均值分解
|
|
29
|
+
from .lmd import RLMD
|