PySDKit 0.4.42__tar.gz → 0.4.44__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.42 → pysdkit-0.4.44}/PKG-INFO +16 -12
- {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/PKG-INFO +16 -12
- {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/SOURCES.txt +21 -15
- {pysdkit-0.4.42 → pysdkit-0.4.44}/README.md +13 -9
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pyproject.toml +15 -8
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/__init__.py +20 -12
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/__init__.py +2 -0
- pysdkit-0.4.44/pysdkit/_fmd/__init__.py +8 -0
- pysdkit-0.4.44/pysdkit/_fmd/fmd.py +377 -0
- pysdkit-0.4.44/pysdkit/_imd/__init__.py +25 -0
- pysdkit-0.4.44/pysdkit/_imd/data/gearbox_fault_snippet.npy +0 -0
- pysdkit-0.4.44/pysdkit/_imd/data/input_sig.npy +0 -0
- pysdkit-0.4.44/pysdkit/_imd/imd.py +435 -0
- pysdkit-0.4.44/pysdkit/_osd/__init__.py +36 -0
- pysdkit-0.4.44/pysdkit/_osd/components.py +329 -0
- pysdkit-0.4.44/pysdkit/_osd/osd.py +327 -0
- pysdkit-0.4.44/pysdkit/_tid/__init__.py +27 -0
- {pysdkit-0.4.42/pysdkit/_alif → pysdkit-0.4.44/pysdkit/_tid}/alif.py +1 -1
- pysdkit-0.4.44/pysdkit/_tid/hvd.py +188 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/__init__.py +4 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_generator.py +24 -0
- pysdkit-0.4.44/pysdkit/data/fmd_demo.npy +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_alif.py +2 -2
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_apmd.py +1 -1
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_esmd.py +1 -1
- pysdkit-0.4.44/pysdkit/tests/test_fmd.py +246 -0
- pysdkit-0.4.44/pysdkit/tests/test_hvd.py +161 -0
- pysdkit-0.4.44/pysdkit/tests/test_imd.py +208 -0
- pysdkit-0.4.44/pysdkit/tests/test_osd.py +198 -0
- pysdkit-0.4.42/pysdkit/_alif/__init__.py +0 -9
- pysdkit-0.4.42/pysdkit/_apmd/__init__.py +0 -6
- pysdkit-0.4.42/pysdkit/_esmd/__init__.py +0 -36
- pysdkit-0.4.42/pysdkit/_fmd/__init__.py +0 -6
- pysdkit-0.4.42/pysdkit/_fmd/fmd.py +0 -301
- pysdkit-0.4.42/pysdkit/_hvd/__init__.py +0 -6
- pysdkit-0.4.42/pysdkit/_hvd/hvd.py +0 -212
- pysdkit-0.4.42/pysdkit/_itd/__init__.py +0 -6
- pysdkit-0.4.42/pysdkit/_osd/__init__.py +0 -6
- pysdkit-0.4.42/pysdkit/_ssa/__init__.py +0 -6
- {pysdkit-0.4.42 → pysdkit-0.4.44}/LICENSE +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/dependency_links.txt +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/requires.txt +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/top_level.txt +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/_find_extrema.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/_prepare_points.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/_splines.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/ceemdan.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/eemd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/efd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/emd.py +0 -0
- {pysdkit-0.4.42/pysdkit/_esmd → pysdkit-0.4.44/pysdkit/_emd}/esmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/hht/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/hht/frequency.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/hht/hht.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/memd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/remd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/semd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/tvf_emd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd2d/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd2d/bemd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd2d/bmemd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd2d/emd2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_ewt/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_ewt/ewt.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_ewt/ewt2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/extrema.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/faemd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/faemd2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/faemd3d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/filter.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_fmd/nfmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/agncmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/gdmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/ivgnmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/vgnmd.py +0 -0
- {pysdkit-0.4.42/pysdkit/_apmd → pysdkit-0.4.44/pysdkit/_imd}/apmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_jmd/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_jmd/jmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_jmd/mjmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_jmd/sjmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_lmd/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_lmd/lmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_lmd/rlmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_osd/swd.py +0 -0
- {pysdkit-0.4.42/pysdkit/_alif → pysdkit-0.4.44/pysdkit/_tid}/data/__init__.py +0 -0
- {pysdkit-0.4.42/pysdkit/_alif → pysdkit-0.4.44/pysdkit/_tid}/data/prefixed_double_filter.npy +0 -0
- {pysdkit-0.4.42/pysdkit/_itd → pysdkit-0.4.44/pysdkit/_tid}/itd.py +0 -0
- {pysdkit-0.4.42/pysdkit/_alif → pysdkit-0.4.44/pysdkit/_tid}/iterative_filtering.py +0 -0
- {pysdkit-0.4.42/pysdkit/_ssa → pysdkit-0.4.44/pysdkit/_tid}/ssa.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/acmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/avmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/ba_acmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/base.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/mvmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/ovmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/stvmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/svmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/vmd_c.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/vmd_f.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/vme.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd2d/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd2d/cvmd2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd2d/vmd2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vncmd/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vncmd/avncmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vncmd/incmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vncmd/vncmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_add_noise.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_cube.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_image.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_models.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_test_univariate.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_time_series.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/texture.txt +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/entropy/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/entropy/_approxiamte_entropy.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/entropy/_permutation_entropy.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/entropy/_sample_entropy.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/_base.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/_kmeans.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/_knn.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/_pca.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_fourier_spectra.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_functions.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_plot_images.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_plot_imfs.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_plot_signal.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_cube.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_image.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_signal.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_univariate_signal.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/models/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/models/test_knn.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/models/test_pca.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/run_all.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_agncmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_avncmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_bmemd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ceemdan.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_cvmd2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_eemd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_emd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ewt.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ewt2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_faemd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_faemd2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_faemd3d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_gdmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_itd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ivgnmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_jmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_lmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_moving_decomp.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_mstl.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ovmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_rlmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_semd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_sjmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ssa.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_stl.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_stvmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_svmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_swd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_vgnmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_vmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_vmd2d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_vncmd.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/_dtw.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/_moving_decomp.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/_mstl.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/_stl.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/__init__.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_correlation.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_diagnalization.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_differ.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_fft.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_function.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_hilbert.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_instantaneous.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_kernel_matrix.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_mirror.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_process.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_smooth1d.py +0 -0
- {pysdkit-0.4.42 → pysdkit-0.4.44}/setup.cfg +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PySDKit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.44
|
|
4
4
|
Summary: A Python library for signal decomposition algorithms with a unified interface.
|
|
5
|
-
Author: josefinez, Deeksha Manjunath, Yuan Feng, JacktheFowler
|
|
6
|
-
|
|
5
|
+
Author: Whenxuan Wang, RuiZhe Wang, Rongkun Zhu, Kai Wu, Lei Wang, josefinez, Deeksha Manjunath, Yuan Feng, WenTong Zhao, JacktheFowler
|
|
6
|
+
Maintainer-email: Whenxuan Wang <wwhenxuan@gmail.com>, RuiZhe Wang <3133986068@qq.com>
|
|
7
7
|
License: MIT License
|
|
8
8
|
|
|
9
9
|
Copyright (c) 2019 Whenxuan Wang
|
|
@@ -140,11 +140,13 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
140
140
|
|
|
141
141
|
`PySDKit` is still under development. We are currently working on reproducing the signal decomposition algorithms in the table below, including not only common decomposition algorithms for `univariate signals` such as EMD, VMD, OVMD, AVNCMD, ALIF and APMD, but also decomposition algorithms for `multivariate signals` such as MEMD and MVMD. We will also further reproduce the decomposition algorithms for `two-dimensional images` to make PySDKit not only suitable for signal processing, but also for image analysis and understanding. See [`Mission`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/README.md) for the reasons why we developed PySDKit.
|
|
142
142
|
|
|
143
|
+
|
|
144
|
+
|
|
143
145
|
| Algorithm | Paper | Source | State |
|
|
144
146
|
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
|
|
145
147
|
| [`EMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/emd.py) (Empirical Mode Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/abs/10.1098/rspa.1998.0193) | [[code]](https://www.mathworks.com/help/signal/ref/emd.html) | ✔️ |
|
|
146
148
|
| [`MEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/memd.py) (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) | ✔️ |
|
|
147
|
-
| [`BEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bemd.py) (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) |
|
|
149
|
+
| [`BEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bemd.py) (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) | ✔️ |
|
|
148
150
|
| [`CEMD`]() (Complex Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/4063369) | [[code]]() | ✖️ |
|
|
149
151
|
| [`EEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/eemd.py) (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) | ✔️ |
|
|
150
152
|
| [`REMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/remd.py) (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) | ✔️ |
|
|
@@ -156,15 +158,16 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
156
158
|
| [`FAEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd.py) (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) | ✔️ |
|
|
157
159
|
| [`FAEMD2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd2d.py) (Two-Dimensional 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) | ✔️ |
|
|
158
160
|
| [`FAEMD3D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd3d.py) (Three-Dimensional 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) | ✔️ |
|
|
159
|
-
| [`HVD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
160
|
-
| [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
161
|
-
| [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
162
|
-
| [`
|
|
161
|
+
| [`HVD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/hvd.py) (Hilbert Vibration Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0022460X06001556) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/178804-hilbert-vibration-decomposition?s_tid=FX_rc1_behav) | ✔️ |
|
|
162
|
+
| [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/itd.py) (Intrinsic Time-Scale Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/10.1098/rspa.2006.1761) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/69380-intrinsic-time-scale-decomposition-itd) | ✔️ |
|
|
163
|
+
| [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/alif.py) (Adaptive Local Iterative Filtering) | [[paper]](https://arxiv.org/abs/1411.6051) | [[code]](https://github.com/Cicone/ALIF) | ✔️ |
|
|
164
|
+
| [`IMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/imd.py) (Impulsive Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0888327024001250) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/182635-impulsive-mode-decomposition?s_tid=FX_rc3_behav) | ✔️ |
|
|
165
|
+
| [`APMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/apmd.py) (Adaptive Polymorphic Mode Decomposition) | [[paper]](https://doi.org/10.1016/j.dsp.2024.104913) | [[code]](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/apmd.py) | ✔️ |
|
|
163
166
|
| [`LMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_lmd/lmd.py) (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) | ✔️ |
|
|
164
167
|
| [`RLMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_lmd/rlmd.py) (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) | ✔️ |
|
|
165
168
|
| [`FMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_fmd/fmd.py) (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✔️ |
|
|
166
169
|
| [`NFMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_fmd/nfmd.py) (Non-stationary Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://github.com/sheadan/NFMD-ExtractionInstantaneous/blob/master/nfmd/NFMD.py) | ✖️ |
|
|
167
|
-
| [`SSA`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
170
|
+
| [`SSA`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/ssa.py) (Singular Spectral Analysis) | [[paper]](https://orca.cardiff.ac.uk/id/eprint/15208/1/Zhiglavsky_SSA_encyclopedia.pdf) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/58967-singular-spectrum-analysis-beginners-guide) | ✔️ |
|
|
168
171
|
| [`EWT`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/ewt.py) (Empirical Wavelet Transform) | [[paper]](https://ieeexplore.ieee.org/document/6522142) | [[code]](https://www.mathworks.com/help/wavelet/ug/empirical-wavelet-transform.html) | ✔️ |
|
|
169
172
|
| [`EWT2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/ewt2d.py) (2D Empirical Wavelet Transform) | [[paper]](https://arxiv.org/abs/2405.06188) | [[code]](https://github.com/bhurat/EWT-Python) | ✔️ |
|
|
170
173
|
| [`VMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vmd/vmd_c.py) (Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/6655981) | [[code]](https://github.com/vrcarva/vmdpy) | ✔️ |
|
|
@@ -188,14 +191,15 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
188
191
|
| [`JMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/jmd.py) (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) | ️✔️ |
|
|
189
192
|
| [`MJMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/mjmd.py) (Multivariate Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/169393-multivariate-jump-plus-am-fm-mode-decomposition-mjmd?s_tid=prof_contriblnk) | ✔️ |
|
|
190
193
|
| [`SJMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/sjmd.py) / `SMJMD` (Successive Jump and Mode Decomposition) | [[paper]](https://arxiv.org/abs/2504.08453) | [[code]]() | ✔️ |
|
|
191
|
-
|
|
|
194
|
+
| [`ESMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/esmd.py) (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✔️ |
|
|
192
195
|
| [`STNBMD`]() (Short-Time Narrow-Band Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0022460X16002443?via%3Dihub) | [[code]](https://ww2.mathworks.cn/matlabcentral/fileexchange/56226-short-time-narrow-band-mode-decomposition-stnbmd-toolbox) | ✖️ |
|
|
193
196
|
| [`SWD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_osd/swd.py) (Swarm Decomposition) | [[paper]](https://doi.org/10.1016/j.sigpro.2016.09.004) | [[code]](https://github.com/gkaposto/Swarm-Decomposition) | ✔️ |
|
|
197
|
+
| [`OSD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_osd/osd.py) (Optimization-based Signal Decomposition) | [[paper]](https://web.stanford.edu/~boyd/papers/sig_decomp_mprox.html) | [[code]](https://github.com/cvxgrp/signal-decomposition) | ✔️ |
|
|
194
198
|
| [`STL`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/tsa/_stl.py) (Seasonal-Trend decomposition using LOESS) | [[paper]](https://www.nniiem.ru/file/news/2016/stl-statistical-model.pdf) | [[code]](https://www.statsmodels.org/stable/examples/notebooks/generated/stl_decomposition.html) | ✔️ |
|
|
195
|
-
| [`MSTL`]() (Multivariate Seasonal-Trend decomposition using LOESS) | [[paper]](https://arxiv.org/abs/2107.13462) | [[code]](https://github.com/KishManani/MSTL) | ✔️ |
|
|
199
|
+
| [`MSTL`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/tsa/_mstl.py) (Multivariate Seasonal-Trend decomposition using LOESS) | [[paper]](https://arxiv.org/abs/2107.13462) | [[code]](https://github.com/KishManani/MSTL) | ✔️ |
|
|
196
200
|
|
|
197
201
|
|
|
198
202
|
|
|
199
203
|
## Acknowledgements 🎖️ <a id="Acknowledgements"></a>
|
|
200
204
|
|
|
201
|
-
We would like to thank the researchers in signal processing for providing us with valuable algorithms and promoting the continuous progress in this field. However, since the main programming language used in `signal processing` is `Matlab`, and `Python` is the main battlefield of `machine learning` and `deep learning`, the usage of signal decomposition in machine learning and deep learning is far less extensive than `wavelet transformation`. In order to further promote the organic combination of signal decomposition and machine learning, we developed `PySDKit`. We would like to express our gratitude to [PyEMD](https://github.com/laszukdawid/PyEMD), [Sktime](https://www.sktime.net/en/latest/index.html), [Scikit-learn](https://scikit-learn.org/stable/), [Scikit-Image](https://scikit-image.org/docs/stable/), [statsmodels](https://www.statsmodels.org/stable/index.html), [vmdpy](https://github.com/vrcarva/vmdpy), [MEMD-Python-](https://github.com/mariogrune/MEMD-Python-), [ewtpy](https://github.com/vrcarva/ewtpy), [EWT-Python](https://github.com/bhurat/EWT-Python), [PyLMD](https://github.com/shownlin/PyLMD), [pywt](https://github.com/PyWavelets/pywt), [SP_Lib](https://github.com/hustcxl/SP_Lib)
|
|
205
|
+
We would like to thank the researchers in signal processing for providing us with valuable algorithms and promoting the continuous progress in this field. However, since the main programming language used in `signal processing` is `Matlab`, and `Python` is the main battlefield of `machine learning` and `deep learning`, the usage of signal decomposition in machine learning and deep learning is far less extensive than `wavelet transformation`. In order to further promote the organic combination of signal decomposition and machine learning, we developed `PySDKit`. We would like to express our gratitude to [PyEMD](https://github.com/laszukdawid/PyEMD), [Sktime](https://www.sktime.net/en/latest/index.html), [Scikit-learn](https://scikit-learn.org/stable/), [Scikit-Image](https://scikit-image.org/docs/stable/), [statsmodels](https://www.statsmodels.org/stable/index.html), [vmdpy](https://github.com/vrcarva/vmdpy), [MEMD-Python-](https://github.com/mariogrune/MEMD-Python-), [ewtpy](https://github.com/vrcarva/ewtpy), [EWT-Python](https://github.com/bhurat/EWT-Python), [PyLMD](https://github.com/shownlin/PyLMD), [pywt](https://github.com/PyWavelets/pywt), [SP_Lib](https://github.com/hustcxl/SP_Lib), [dsatools](https://github.com/MVRonkin/dsatools) and [signal-decomposition](https://github.com/cvxgrp/signal-decomposition).
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PySDKit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.44
|
|
4
4
|
Summary: A Python library for signal decomposition algorithms with a unified interface.
|
|
5
|
-
Author: josefinez, Deeksha Manjunath, Yuan Feng, JacktheFowler
|
|
6
|
-
|
|
5
|
+
Author: Whenxuan Wang, RuiZhe Wang, Rongkun Zhu, Kai Wu, Lei Wang, josefinez, Deeksha Manjunath, Yuan Feng, WenTong Zhao, JacktheFowler
|
|
6
|
+
Maintainer-email: Whenxuan Wang <wwhenxuan@gmail.com>, RuiZhe Wang <3133986068@qq.com>
|
|
7
7
|
License: MIT License
|
|
8
8
|
|
|
9
9
|
Copyright (c) 2019 Whenxuan Wang
|
|
@@ -140,11 +140,13 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
140
140
|
|
|
141
141
|
`PySDKit` is still under development. We are currently working on reproducing the signal decomposition algorithms in the table below, including not only common decomposition algorithms for `univariate signals` such as EMD, VMD, OVMD, AVNCMD, ALIF and APMD, but also decomposition algorithms for `multivariate signals` such as MEMD and MVMD. We will also further reproduce the decomposition algorithms for `two-dimensional images` to make PySDKit not only suitable for signal processing, but also for image analysis and understanding. See [`Mission`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/README.md) for the reasons why we developed PySDKit.
|
|
142
142
|
|
|
143
|
+
|
|
144
|
+
|
|
143
145
|
| Algorithm | Paper | Source | State |
|
|
144
146
|
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
|
|
145
147
|
| [`EMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/emd.py) (Empirical Mode Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/abs/10.1098/rspa.1998.0193) | [[code]](https://www.mathworks.com/help/signal/ref/emd.html) | ✔️ |
|
|
146
148
|
| [`MEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/memd.py) (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) | ✔️ |
|
|
147
|
-
| [`BEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bemd.py) (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) |
|
|
149
|
+
| [`BEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bemd.py) (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) | ✔️ |
|
|
148
150
|
| [`CEMD`]() (Complex Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/4063369) | [[code]]() | ✖️ |
|
|
149
151
|
| [`EEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/eemd.py) (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) | ✔️ |
|
|
150
152
|
| [`REMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/remd.py) (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) | ✔️ |
|
|
@@ -156,15 +158,16 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
156
158
|
| [`FAEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd.py) (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) | ✔️ |
|
|
157
159
|
| [`FAEMD2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd2d.py) (Two-Dimensional 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) | ✔️ |
|
|
158
160
|
| [`FAEMD3D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd3d.py) (Three-Dimensional 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) | ✔️ |
|
|
159
|
-
| [`HVD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
160
|
-
| [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
161
|
-
| [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
162
|
-
| [`
|
|
161
|
+
| [`HVD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/hvd.py) (Hilbert Vibration Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0022460X06001556) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/178804-hilbert-vibration-decomposition?s_tid=FX_rc1_behav) | ✔️ |
|
|
162
|
+
| [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/itd.py) (Intrinsic Time-Scale Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/10.1098/rspa.2006.1761) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/69380-intrinsic-time-scale-decomposition-itd) | ✔️ |
|
|
163
|
+
| [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/alif.py) (Adaptive Local Iterative Filtering) | [[paper]](https://arxiv.org/abs/1411.6051) | [[code]](https://github.com/Cicone/ALIF) | ✔️ |
|
|
164
|
+
| [`IMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/imd.py) (Impulsive Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0888327024001250) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/182635-impulsive-mode-decomposition?s_tid=FX_rc3_behav) | ✔️ |
|
|
165
|
+
| [`APMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/apmd.py) (Adaptive Polymorphic Mode Decomposition) | [[paper]](https://doi.org/10.1016/j.dsp.2024.104913) | [[code]](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/apmd.py) | ✔️ |
|
|
163
166
|
| [`LMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_lmd/lmd.py) (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) | ✔️ |
|
|
164
167
|
| [`RLMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_lmd/rlmd.py) (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) | ✔️ |
|
|
165
168
|
| [`FMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_fmd/fmd.py) (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✔️ |
|
|
166
169
|
| [`NFMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_fmd/nfmd.py) (Non-stationary Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://github.com/sheadan/NFMD-ExtractionInstantaneous/blob/master/nfmd/NFMD.py) | ✖️ |
|
|
167
|
-
| [`SSA`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
170
|
+
| [`SSA`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/ssa.py) (Singular Spectral Analysis) | [[paper]](https://orca.cardiff.ac.uk/id/eprint/15208/1/Zhiglavsky_SSA_encyclopedia.pdf) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/58967-singular-spectrum-analysis-beginners-guide) | ✔️ |
|
|
168
171
|
| [`EWT`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/ewt.py) (Empirical Wavelet Transform) | [[paper]](https://ieeexplore.ieee.org/document/6522142) | [[code]](https://www.mathworks.com/help/wavelet/ug/empirical-wavelet-transform.html) | ✔️ |
|
|
169
172
|
| [`EWT2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/ewt2d.py) (2D Empirical Wavelet Transform) | [[paper]](https://arxiv.org/abs/2405.06188) | [[code]](https://github.com/bhurat/EWT-Python) | ✔️ |
|
|
170
173
|
| [`VMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vmd/vmd_c.py) (Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/6655981) | [[code]](https://github.com/vrcarva/vmdpy) | ✔️ |
|
|
@@ -188,14 +191,15 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
188
191
|
| [`JMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/jmd.py) (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) | ️✔️ |
|
|
189
192
|
| [`MJMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/mjmd.py) (Multivariate Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/169393-multivariate-jump-plus-am-fm-mode-decomposition-mjmd?s_tid=prof_contriblnk) | ✔️ |
|
|
190
193
|
| [`SJMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/sjmd.py) / `SMJMD` (Successive Jump and Mode Decomposition) | [[paper]](https://arxiv.org/abs/2504.08453) | [[code]]() | ✔️ |
|
|
191
|
-
|
|
|
194
|
+
| [`ESMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/esmd.py) (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✔️ |
|
|
192
195
|
| [`STNBMD`]() (Short-Time Narrow-Band Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0022460X16002443?via%3Dihub) | [[code]](https://ww2.mathworks.cn/matlabcentral/fileexchange/56226-short-time-narrow-band-mode-decomposition-stnbmd-toolbox) | ✖️ |
|
|
193
196
|
| [`SWD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_osd/swd.py) (Swarm Decomposition) | [[paper]](https://doi.org/10.1016/j.sigpro.2016.09.004) | [[code]](https://github.com/gkaposto/Swarm-Decomposition) | ✔️ |
|
|
197
|
+
| [`OSD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_osd/osd.py) (Optimization-based Signal Decomposition) | [[paper]](https://web.stanford.edu/~boyd/papers/sig_decomp_mprox.html) | [[code]](https://github.com/cvxgrp/signal-decomposition) | ✔️ |
|
|
194
198
|
| [`STL`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/tsa/_stl.py) (Seasonal-Trend decomposition using LOESS) | [[paper]](https://www.nniiem.ru/file/news/2016/stl-statistical-model.pdf) | [[code]](https://www.statsmodels.org/stable/examples/notebooks/generated/stl_decomposition.html) | ✔️ |
|
|
195
|
-
| [`MSTL`]() (Multivariate Seasonal-Trend decomposition using LOESS) | [[paper]](https://arxiv.org/abs/2107.13462) | [[code]](https://github.com/KishManani/MSTL) | ✔️ |
|
|
199
|
+
| [`MSTL`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/tsa/_mstl.py) (Multivariate Seasonal-Trend decomposition using LOESS) | [[paper]](https://arxiv.org/abs/2107.13462) | [[code]](https://github.com/KishManani/MSTL) | ✔️ |
|
|
196
200
|
|
|
197
201
|
|
|
198
202
|
|
|
199
203
|
## Acknowledgements 🎖️ <a id="Acknowledgements"></a>
|
|
200
204
|
|
|
201
|
-
We would like to thank the researchers in signal processing for providing us with valuable algorithms and promoting the continuous progress in this field. However, since the main programming language used in `signal processing` is `Matlab`, and `Python` is the main battlefield of `machine learning` and `deep learning`, the usage of signal decomposition in machine learning and deep learning is far less extensive than `wavelet transformation`. In order to further promote the organic combination of signal decomposition and machine learning, we developed `PySDKit`. We would like to express our gratitude to [PyEMD](https://github.com/laszukdawid/PyEMD), [Sktime](https://www.sktime.net/en/latest/index.html), [Scikit-learn](https://scikit-learn.org/stable/), [Scikit-Image](https://scikit-image.org/docs/stable/), [statsmodels](https://www.statsmodels.org/stable/index.html), [vmdpy](https://github.com/vrcarva/vmdpy), [MEMD-Python-](https://github.com/mariogrune/MEMD-Python-), [ewtpy](https://github.com/vrcarva/ewtpy), [EWT-Python](https://github.com/bhurat/EWT-Python), [PyLMD](https://github.com/shownlin/PyLMD), [pywt](https://github.com/PyWavelets/pywt), [SP_Lib](https://github.com/hustcxl/SP_Lib)
|
|
205
|
+
We would like to thank the researchers in signal processing for providing us with valuable algorithms and promoting the continuous progress in this field. However, since the main programming language used in `signal processing` is `Matlab`, and `Python` is the main battlefield of `machine learning` and `deep learning`, the usage of signal decomposition in machine learning and deep learning is far less extensive than `wavelet transformation`. In order to further promote the organic combination of signal decomposition and machine learning, we developed `PySDKit`. We would like to express our gratitude to [PyEMD](https://github.com/laszukdawid/PyEMD), [Sktime](https://www.sktime.net/en/latest/index.html), [Scikit-learn](https://scikit-learn.org/stable/), [Scikit-Image](https://scikit-image.org/docs/stable/), [statsmodels](https://www.statsmodels.org/stable/index.html), [vmdpy](https://github.com/vrcarva/vmdpy), [MEMD-Python-](https://github.com/mariogrune/MEMD-Python-), [ewtpy](https://github.com/vrcarva/ewtpy), [EWT-Python](https://github.com/bhurat/EWT-Python), [PyLMD](https://github.com/shownlin/PyLMD), [pywt](https://github.com/PyWavelets/pywt), [SP_Lib](https://github.com/hustcxl/SP_Lib), [dsatools](https://github.com/MVRonkin/dsatools) and [signal-decomposition](https://github.com/cvxgrp/signal-decomposition).
|
|
@@ -7,13 +7,6 @@ PySDKit.egg-info/dependency_links.txt
|
|
|
7
7
|
PySDKit.egg-info/requires.txt
|
|
8
8
|
PySDKit.egg-info/top_level.txt
|
|
9
9
|
pysdkit/__init__.py
|
|
10
|
-
pysdkit/_alif/__init__.py
|
|
11
|
-
pysdkit/_alif/alif.py
|
|
12
|
-
pysdkit/_alif/iterative_filtering.py
|
|
13
|
-
pysdkit/_alif/data/__init__.py
|
|
14
|
-
pysdkit/_alif/data/prefixed_double_filter.npy
|
|
15
|
-
pysdkit/_apmd/__init__.py
|
|
16
|
-
pysdkit/_apmd/apmd.py
|
|
17
10
|
pysdkit/_emd/__init__.py
|
|
18
11
|
pysdkit/_emd/_find_extrema.py
|
|
19
12
|
pysdkit/_emd/_prepare_points.py
|
|
@@ -22,6 +15,7 @@ pysdkit/_emd/ceemdan.py
|
|
|
22
15
|
pysdkit/_emd/eemd.py
|
|
23
16
|
pysdkit/_emd/efd.py
|
|
24
17
|
pysdkit/_emd/emd.py
|
|
18
|
+
pysdkit/_emd/esmd.py
|
|
25
19
|
pysdkit/_emd/memd.py
|
|
26
20
|
pysdkit/_emd/remd.py
|
|
27
21
|
pysdkit/_emd/semd.py
|
|
@@ -33,8 +27,6 @@ pysdkit/_emd2d/__init__.py
|
|
|
33
27
|
pysdkit/_emd2d/bemd.py
|
|
34
28
|
pysdkit/_emd2d/bmemd.py
|
|
35
29
|
pysdkit/_emd2d/emd2d.py
|
|
36
|
-
pysdkit/_esmd/__init__.py
|
|
37
|
-
pysdkit/_esmd/esmd.py
|
|
38
30
|
pysdkit/_ewt/__init__.py
|
|
39
31
|
pysdkit/_ewt/ewt.py
|
|
40
32
|
pysdkit/_ewt/ewt2d.py
|
|
@@ -52,10 +44,11 @@ pysdkit/_gdmd/agncmd.py
|
|
|
52
44
|
pysdkit/_gdmd/gdmd.py
|
|
53
45
|
pysdkit/_gdmd/ivgnmd.py
|
|
54
46
|
pysdkit/_gdmd/vgnmd.py
|
|
55
|
-
pysdkit/
|
|
56
|
-
pysdkit/
|
|
57
|
-
pysdkit/
|
|
58
|
-
pysdkit/
|
|
47
|
+
pysdkit/_imd/__init__.py
|
|
48
|
+
pysdkit/_imd/apmd.py
|
|
49
|
+
pysdkit/_imd/imd.py
|
|
50
|
+
pysdkit/_imd/data/gearbox_fault_snippet.npy
|
|
51
|
+
pysdkit/_imd/data/input_sig.npy
|
|
59
52
|
pysdkit/_jmd/__init__.py
|
|
60
53
|
pysdkit/_jmd/jmd.py
|
|
61
54
|
pysdkit/_jmd/mjmd.py
|
|
@@ -64,9 +57,17 @@ pysdkit/_lmd/__init__.py
|
|
|
64
57
|
pysdkit/_lmd/lmd.py
|
|
65
58
|
pysdkit/_lmd/rlmd.py
|
|
66
59
|
pysdkit/_osd/__init__.py
|
|
60
|
+
pysdkit/_osd/components.py
|
|
61
|
+
pysdkit/_osd/osd.py
|
|
67
62
|
pysdkit/_osd/swd.py
|
|
68
|
-
pysdkit/
|
|
69
|
-
pysdkit/
|
|
63
|
+
pysdkit/_tid/__init__.py
|
|
64
|
+
pysdkit/_tid/alif.py
|
|
65
|
+
pysdkit/_tid/hvd.py
|
|
66
|
+
pysdkit/_tid/itd.py
|
|
67
|
+
pysdkit/_tid/iterative_filtering.py
|
|
68
|
+
pysdkit/_tid/ssa.py
|
|
69
|
+
pysdkit/_tid/data/__init__.py
|
|
70
|
+
pysdkit/_tid/data/prefixed_double_filter.npy
|
|
70
71
|
pysdkit/_vmd/__init__.py
|
|
71
72
|
pysdkit/_vmd/acmd.py
|
|
72
73
|
pysdkit/_vmd/avmd.py
|
|
@@ -94,6 +95,7 @@ pysdkit/data/_image.py
|
|
|
94
95
|
pysdkit/data/_models.py
|
|
95
96
|
pysdkit/data/_test_univariate.py
|
|
96
97
|
pysdkit/data/_time_series.py
|
|
98
|
+
pysdkit/data/fmd_demo.npy
|
|
97
99
|
pysdkit/data/texture.txt
|
|
98
100
|
pysdkit/entropy/__init__.py
|
|
99
101
|
pysdkit/entropy/_approxiamte_entropy.py
|
|
@@ -127,13 +129,17 @@ pysdkit/tests/test_ewt2d.py
|
|
|
127
129
|
pysdkit/tests/test_faemd.py
|
|
128
130
|
pysdkit/tests/test_faemd2d.py
|
|
129
131
|
pysdkit/tests/test_faemd3d.py
|
|
132
|
+
pysdkit/tests/test_fmd.py
|
|
130
133
|
pysdkit/tests/test_gdmd.py
|
|
134
|
+
pysdkit/tests/test_hvd.py
|
|
135
|
+
pysdkit/tests/test_imd.py
|
|
131
136
|
pysdkit/tests/test_itd.py
|
|
132
137
|
pysdkit/tests/test_ivgnmd.py
|
|
133
138
|
pysdkit/tests/test_jmd.py
|
|
134
139
|
pysdkit/tests/test_lmd.py
|
|
135
140
|
pysdkit/tests/test_moving_decomp.py
|
|
136
141
|
pysdkit/tests/test_mstl.py
|
|
142
|
+
pysdkit/tests/test_osd.py
|
|
137
143
|
pysdkit/tests/test_ovmd.py
|
|
138
144
|
pysdkit/tests/test_rlmd.py
|
|
139
145
|
pysdkit/tests/test_semd.py
|
|
@@ -87,11 +87,13 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
87
87
|
|
|
88
88
|
`PySDKit` is still under development. We are currently working on reproducing the signal decomposition algorithms in the table below, including not only common decomposition algorithms for `univariate signals` such as EMD, VMD, OVMD, AVNCMD, ALIF and APMD, but also decomposition algorithms for `multivariate signals` such as MEMD and MVMD. We will also further reproduce the decomposition algorithms for `two-dimensional images` to make PySDKit not only suitable for signal processing, but also for image analysis and understanding. See [`Mission`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/README.md) for the reasons why we developed PySDKit.
|
|
89
89
|
|
|
90
|
+
|
|
91
|
+
|
|
90
92
|
| Algorithm | Paper | Source | State |
|
|
91
93
|
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
|
|
92
94
|
| [`EMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/emd.py) (Empirical Mode Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/abs/10.1098/rspa.1998.0193) | [[code]](https://www.mathworks.com/help/signal/ref/emd.html) | ✔️ |
|
|
93
95
|
| [`MEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/memd.py) (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) | ✔️ |
|
|
94
|
-
| [`BEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bemd.py) (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) |
|
|
96
|
+
| [`BEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bemd.py) (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) | ✔️ |
|
|
95
97
|
| [`CEMD`]() (Complex Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/abstract/document/4063369) | [[code]]() | ✖️ |
|
|
96
98
|
| [`EEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/eemd.py) (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) | ✔️ |
|
|
97
99
|
| [`REMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/remd.py) (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) | ✔️ |
|
|
@@ -103,15 +105,16 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
103
105
|
| [`FAEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd.py) (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) | ✔️ |
|
|
104
106
|
| [`FAEMD2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd2d.py) (Two-Dimensional 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) | ✔️ |
|
|
105
107
|
| [`FAEMD3D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_faemd/faemd3d.py) (Three-Dimensional 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) | ✔️ |
|
|
106
|
-
| [`HVD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
107
|
-
| [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
108
|
-
| [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
109
|
-
| [`
|
|
108
|
+
| [`HVD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/hvd.py) (Hilbert Vibration Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0022460X06001556) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/178804-hilbert-vibration-decomposition?s_tid=FX_rc1_behav) | ✔️ |
|
|
109
|
+
| [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/itd.py) (Intrinsic Time-Scale Decomposition) | [[paper]](https://royalsocietypublishing.org/doi/10.1098/rspa.2006.1761) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/69380-intrinsic-time-scale-decomposition-itd) | ✔️ |
|
|
110
|
+
| [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/alif.py) (Adaptive Local Iterative Filtering) | [[paper]](https://arxiv.org/abs/1411.6051) | [[code]](https://github.com/Cicone/ALIF) | ✔️ |
|
|
111
|
+
| [`IMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/imd.py) (Impulsive Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0888327024001250) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/182635-impulsive-mode-decomposition?s_tid=FX_rc3_behav) | ✔️ |
|
|
112
|
+
| [`APMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/apmd.py) (Adaptive Polymorphic Mode Decomposition) | [[paper]](https://doi.org/10.1016/j.dsp.2024.104913) | [[code]](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_imd/apmd.py) | ✔️ |
|
|
110
113
|
| [`LMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_lmd/lmd.py) (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) | ✔️ |
|
|
111
114
|
| [`RLMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_lmd/rlmd.py) (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) | ✔️ |
|
|
112
115
|
| [`FMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_fmd/fmd.py) (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✔️ |
|
|
113
116
|
| [`NFMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_fmd/nfmd.py) (Non-stationary Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://github.com/sheadan/NFMD-ExtractionInstantaneous/blob/master/nfmd/NFMD.py) | ✖️ |
|
|
114
|
-
| [`SSA`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/
|
|
117
|
+
| [`SSA`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/ssa.py) (Singular Spectral Analysis) | [[paper]](https://orca.cardiff.ac.uk/id/eprint/15208/1/Zhiglavsky_SSA_encyclopedia.pdf) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/58967-singular-spectrum-analysis-beginners-guide) | ✔️ |
|
|
115
118
|
| [`EWT`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/ewt.py) (Empirical Wavelet Transform) | [[paper]](https://ieeexplore.ieee.org/document/6522142) | [[code]](https://www.mathworks.com/help/wavelet/ug/empirical-wavelet-transform.html) | ✔️ |
|
|
116
119
|
| [`EWT2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/ewt2d.py) (2D Empirical Wavelet Transform) | [[paper]](https://arxiv.org/abs/2405.06188) | [[code]](https://github.com/bhurat/EWT-Python) | ✔️ |
|
|
117
120
|
| [`VMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vmd/vmd_c.py) (Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/6655981) | [[code]](https://github.com/vrcarva/vmdpy) | ✔️ |
|
|
@@ -135,14 +138,15 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
|
|
|
135
138
|
| [`JMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/jmd.py) (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) | ️✔️ |
|
|
136
139
|
| [`MJMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/mjmd.py) (Multivariate Jump Plus AM-FM Mode Decomposition) | [[paper]](https://arxiv.org/abs/2407.07800) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/169393-multivariate-jump-plus-am-fm-mode-decomposition-mjmd?s_tid=prof_contriblnk) | ✔️ |
|
|
137
140
|
| [`SJMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_jmd/sjmd.py) / `SMJMD` (Successive Jump and Mode Decomposition) | [[paper]](https://arxiv.org/abs/2504.08453) | [[code]]() | ✔️ |
|
|
138
|
-
|
|
|
141
|
+
| [`ESMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/esmd.py) (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✔️ |
|
|
139
142
|
| [`STNBMD`]() (Short-Time Narrow-Band Mode Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0022460X16002443?via%3Dihub) | [[code]](https://ww2.mathworks.cn/matlabcentral/fileexchange/56226-short-time-narrow-band-mode-decomposition-stnbmd-toolbox) | ✖️ |
|
|
140
143
|
| [`SWD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_osd/swd.py) (Swarm Decomposition) | [[paper]](https://doi.org/10.1016/j.sigpro.2016.09.004) | [[code]](https://github.com/gkaposto/Swarm-Decomposition) | ✔️ |
|
|
144
|
+
| [`OSD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_osd/osd.py) (Optimization-based Signal Decomposition) | [[paper]](https://web.stanford.edu/~boyd/papers/sig_decomp_mprox.html) | [[code]](https://github.com/cvxgrp/signal-decomposition) | ✔️ |
|
|
141
145
|
| [`STL`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/tsa/_stl.py) (Seasonal-Trend decomposition using LOESS) | [[paper]](https://www.nniiem.ru/file/news/2016/stl-statistical-model.pdf) | [[code]](https://www.statsmodels.org/stable/examples/notebooks/generated/stl_decomposition.html) | ✔️ |
|
|
142
|
-
| [`MSTL`]() (Multivariate Seasonal-Trend decomposition using LOESS) | [[paper]](https://arxiv.org/abs/2107.13462) | [[code]](https://github.com/KishManani/MSTL) | ✔️ |
|
|
146
|
+
| [`MSTL`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/tsa/_mstl.py) (Multivariate Seasonal-Trend decomposition using LOESS) | [[paper]](https://arxiv.org/abs/2107.13462) | [[code]](https://github.com/KishManani/MSTL) | ✔️ |
|
|
143
147
|
|
|
144
148
|
|
|
145
149
|
|
|
146
150
|
## Acknowledgements 🎖️ <a id="Acknowledgements"></a>
|
|
147
151
|
|
|
148
|
-
We would like to thank the researchers in signal processing for providing us with valuable algorithms and promoting the continuous progress in this field. However, since the main programming language used in `signal processing` is `Matlab`, and `Python` is the main battlefield of `machine learning` and `deep learning`, the usage of signal decomposition in machine learning and deep learning is far less extensive than `wavelet transformation`. In order to further promote the organic combination of signal decomposition and machine learning, we developed `PySDKit`. We would like to express our gratitude to [PyEMD](https://github.com/laszukdawid/PyEMD), [Sktime](https://www.sktime.net/en/latest/index.html), [Scikit-learn](https://scikit-learn.org/stable/), [Scikit-Image](https://scikit-image.org/docs/stable/), [statsmodels](https://www.statsmodels.org/stable/index.html), [vmdpy](https://github.com/vrcarva/vmdpy), [MEMD-Python-](https://github.com/mariogrune/MEMD-Python-), [ewtpy](https://github.com/vrcarva/ewtpy), [EWT-Python](https://github.com/bhurat/EWT-Python), [PyLMD](https://github.com/shownlin/PyLMD), [pywt](https://github.com/PyWavelets/pywt), [SP_Lib](https://github.com/hustcxl/SP_Lib)
|
|
152
|
+
We would like to thank the researchers in signal processing for providing us with valuable algorithms and promoting the continuous progress in this field. However, since the main programming language used in `signal processing` is `Matlab`, and `Python` is the main battlefield of `machine learning` and `deep learning`, the usage of signal decomposition in machine learning and deep learning is far less extensive than `wavelet transformation`. In order to further promote the organic combination of signal decomposition and machine learning, we developed `PySDKit`. We would like to express our gratitude to [PyEMD](https://github.com/laszukdawid/PyEMD), [Sktime](https://www.sktime.net/en/latest/index.html), [Scikit-learn](https://scikit-learn.org/stable/), [Scikit-Image](https://scikit-image.org/docs/stable/), [statsmodels](https://www.statsmodels.org/stable/index.html), [vmdpy](https://github.com/vrcarva/vmdpy), [MEMD-Python-](https://github.com/mariogrune/MEMD-Python-), [ewtpy](https://github.com/vrcarva/ewtpy), [EWT-Python](https://github.com/bhurat/EWT-Python), [PyLMD](https://github.com/shownlin/PyLMD), [pywt](https://github.com/PyWavelets/pywt), [SP_Lib](https://github.com/hustcxl/SP_Lib), [dsatools](https://github.com/MVRonkin/dsatools) and [signal-decomposition](https://github.com/cvxgrp/signal-decomposition).
|
|
@@ -10,17 +10,21 @@ readme = "README.md"
|
|
|
10
10
|
license = { file = "LICENSE" }
|
|
11
11
|
requires-python = ">=3.8"
|
|
12
12
|
authors = [
|
|
13
|
-
{ name = "Whenxuan Wang"
|
|
14
|
-
{ name = "RuiZhe Wang"
|
|
15
|
-
{ name = "Rongkun Zhu"
|
|
16
|
-
{ name = "Kai Wu"
|
|
17
|
-
{ name = "Lei Wang"
|
|
13
|
+
{ name = "Whenxuan Wang" },
|
|
14
|
+
{ name = "RuiZhe Wang" },
|
|
15
|
+
{ name = "Rongkun Zhu" },
|
|
16
|
+
{ name = "Kai Wu" },
|
|
17
|
+
{ name = "Lei Wang" },
|
|
18
18
|
{ name = "josefinez" },
|
|
19
19
|
{ name = "Deeksha Manjunath" },
|
|
20
20
|
{ name = "Yuan Feng" },
|
|
21
|
-
{ name = "WenTong Zhao"
|
|
21
|
+
{ name = "WenTong Zhao" },
|
|
22
22
|
{ name = "JacktheFowler" },
|
|
23
23
|
]
|
|
24
|
+
maintainers = [
|
|
25
|
+
{ name = "Whenxuan Wang", email = "wwhenxuan@gmail.com" },
|
|
26
|
+
{ name = "RuiZhe Wang", email = "3133986068@qq.com" },
|
|
27
|
+
]
|
|
24
28
|
keywords = [
|
|
25
29
|
"signal decomposition",
|
|
26
30
|
"signal processing",
|
|
@@ -64,5 +68,8 @@ include = ["pysdkit*"]
|
|
|
64
68
|
|
|
65
69
|
[tool.setuptools.package-data]
|
|
66
70
|
"*" = ["*.txt", "*.npy"]
|
|
67
|
-
"pysdkit.
|
|
68
|
-
"pysdkit.
|
|
71
|
+
"pysdkit.data" = ["*.txt", "*.npy"]
|
|
72
|
+
"pysdkit._tid" = ["data/*.npy"]
|
|
73
|
+
"pysdkit._tid.data" = ["*.npy"]
|
|
74
|
+
"pysdkit._imd" = ["data/*.npy"]
|
|
75
|
+
"pysdkit._imd.data" = ["*.npy"]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
A Python library for signal decomposition algorithms.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
__version__ = "0.4.
|
|
5
|
+
__version__ = "0.4.44"
|
|
6
6
|
|
|
7
7
|
# Empirical Mode Decomposition
|
|
8
8
|
from ._emd import EMD
|
|
@@ -37,14 +37,14 @@ from ._emd2d import EMD2D
|
|
|
37
37
|
# Bidimensional Multivariate Empirical Mode Decomposition
|
|
38
38
|
from ._emd2d import BMEMD
|
|
39
39
|
|
|
40
|
-
# Hilbert Vibration Decomposition
|
|
41
|
-
from .
|
|
40
|
+
# Hilbert Vibration Decomposition (time iterative decomposition)
|
|
41
|
+
from ._tid import HVD
|
|
42
42
|
|
|
43
|
-
# Intrinsic Time-Scale Decomposition
|
|
44
|
-
from .
|
|
43
|
+
# Intrinsic Time-Scale Decomposition (time iterative decomposition)
|
|
44
|
+
from ._tid import ITD
|
|
45
45
|
|
|
46
46
|
# Extreme-Point Symmetric Mode Decomposition
|
|
47
|
-
from .
|
|
47
|
+
from ._emd import ESMD, esmd
|
|
48
48
|
|
|
49
49
|
# Local Mean Decomposition
|
|
50
50
|
from ._lmd import LMD
|
|
@@ -52,12 +52,15 @@ from ._lmd import LMD
|
|
|
52
52
|
# Robust Local Mean Decomposition
|
|
53
53
|
from ._lmd import RLMD
|
|
54
54
|
|
|
55
|
-
# Singular Spectral Analysis
|
|
56
|
-
from .
|
|
55
|
+
# Singular Spectral Analysis (time iterative decomposition)
|
|
56
|
+
from ._tid import SSA
|
|
57
57
|
|
|
58
58
|
# Swarm Decomposition
|
|
59
59
|
from ._osd import SWD, swd
|
|
60
60
|
|
|
61
|
+
# Optimization-based Signal Decomposition
|
|
62
|
+
from ._osd import OSD
|
|
63
|
+
|
|
61
64
|
# Generalized Dispersion Mode Decomposition
|
|
62
65
|
from ._gdmd import GDMD, gdmd
|
|
63
66
|
|
|
@@ -106,11 +109,11 @@ from ._vncmd import INCMD
|
|
|
106
109
|
# Adaptive Variational Nonlinear Chirp Mode Decomposition
|
|
107
110
|
from ._vncmd import AVNCMD
|
|
108
111
|
|
|
109
|
-
# Adaptive Local Iterative Filtering
|
|
110
|
-
from .
|
|
112
|
+
# Adaptive Local Iterative Filtering (time iterative decomposition)
|
|
113
|
+
from ._tid import ALIF
|
|
111
114
|
|
|
112
|
-
# Adaptive Polymorphic Mode Decomposition
|
|
113
|
-
from .
|
|
115
|
+
# Adaptive Polymorphic Mode Decomposition / Impulsive Mode Decomposition
|
|
116
|
+
from ._imd import APMD, IMD, imd
|
|
114
117
|
|
|
115
118
|
# Empirical Wavelet Transform
|
|
116
119
|
from ._ewt import ewt, EWT
|
|
@@ -186,6 +189,7 @@ Local Mean Decomposition | LMD
|
|
|
186
189
|
Robust Local Mean Decomposition | RLMD
|
|
187
190
|
Singular Spectral Analysis | SSA
|
|
188
191
|
Swarm Decomposition | SWD
|
|
192
|
+
Optimization-based Signal Decomposition | OSD
|
|
189
193
|
Generalized Dispersion Mode Decomposition | GDMD
|
|
190
194
|
Variational Generalized Nonlinear Mode Dec. | VGNMD
|
|
191
195
|
Improved VGNMD (crossed chirp / dispersive) | IVGNMD
|
|
@@ -203,6 +207,7 @@ Iterative Nonlinear Chirp Mode Decomposition | INCMD
|
|
|
203
207
|
Adaptive Variational Nonlinear Chirp Mode Dec. | AVNCMD
|
|
204
208
|
Adaptive Local Iterative Filtering | ALIF
|
|
205
209
|
Adaptive Polymorphic Mode Decomposition | APMD
|
|
210
|
+
Impulsive Mode Decomposition | IMD
|
|
206
211
|
Empirical Wavelet Transform | EWT
|
|
207
212
|
Empirical Wavelet Transform for 2D Image | EWT2D
|
|
208
213
|
Jump Plus AM-FM Mode Decomposition | JMD
|
|
@@ -241,6 +246,7 @@ __all__ = [
|
|
|
241
246
|
"SSA",
|
|
242
247
|
"SWD",
|
|
243
248
|
"swd",
|
|
249
|
+
"OSD",
|
|
244
250
|
"GDMD",
|
|
245
251
|
"gdmd",
|
|
246
252
|
"VGNMD",
|
|
@@ -268,6 +274,8 @@ __all__ = [
|
|
|
268
274
|
"AVNCMD",
|
|
269
275
|
"ALIF",
|
|
270
276
|
"APMD",
|
|
277
|
+
"IMD",
|
|
278
|
+
"imd",
|
|
271
279
|
"ewt",
|
|
272
280
|
"EWT",
|
|
273
281
|
"ewt2d",
|