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.
Files changed (192) hide show
  1. {pysdkit-0.4.42 → pysdkit-0.4.44}/PKG-INFO +16 -12
  2. {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/PKG-INFO +16 -12
  3. {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/SOURCES.txt +21 -15
  4. {pysdkit-0.4.42 → pysdkit-0.4.44}/README.md +13 -9
  5. {pysdkit-0.4.42 → pysdkit-0.4.44}/pyproject.toml +15 -8
  6. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/__init__.py +20 -12
  7. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/__init__.py +2 -0
  8. pysdkit-0.4.44/pysdkit/_fmd/__init__.py +8 -0
  9. pysdkit-0.4.44/pysdkit/_fmd/fmd.py +377 -0
  10. pysdkit-0.4.44/pysdkit/_imd/__init__.py +25 -0
  11. pysdkit-0.4.44/pysdkit/_imd/data/gearbox_fault_snippet.npy +0 -0
  12. pysdkit-0.4.44/pysdkit/_imd/data/input_sig.npy +0 -0
  13. pysdkit-0.4.44/pysdkit/_imd/imd.py +435 -0
  14. pysdkit-0.4.44/pysdkit/_osd/__init__.py +36 -0
  15. pysdkit-0.4.44/pysdkit/_osd/components.py +329 -0
  16. pysdkit-0.4.44/pysdkit/_osd/osd.py +327 -0
  17. pysdkit-0.4.44/pysdkit/_tid/__init__.py +27 -0
  18. {pysdkit-0.4.42/pysdkit/_alif → pysdkit-0.4.44/pysdkit/_tid}/alif.py +1 -1
  19. pysdkit-0.4.44/pysdkit/_tid/hvd.py +188 -0
  20. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/__init__.py +4 -0
  21. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_generator.py +24 -0
  22. pysdkit-0.4.44/pysdkit/data/fmd_demo.npy +0 -0
  23. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_alif.py +2 -2
  24. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_apmd.py +1 -1
  25. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_esmd.py +1 -1
  26. pysdkit-0.4.44/pysdkit/tests/test_fmd.py +246 -0
  27. pysdkit-0.4.44/pysdkit/tests/test_hvd.py +161 -0
  28. pysdkit-0.4.44/pysdkit/tests/test_imd.py +208 -0
  29. pysdkit-0.4.44/pysdkit/tests/test_osd.py +198 -0
  30. pysdkit-0.4.42/pysdkit/_alif/__init__.py +0 -9
  31. pysdkit-0.4.42/pysdkit/_apmd/__init__.py +0 -6
  32. pysdkit-0.4.42/pysdkit/_esmd/__init__.py +0 -36
  33. pysdkit-0.4.42/pysdkit/_fmd/__init__.py +0 -6
  34. pysdkit-0.4.42/pysdkit/_fmd/fmd.py +0 -301
  35. pysdkit-0.4.42/pysdkit/_hvd/__init__.py +0 -6
  36. pysdkit-0.4.42/pysdkit/_hvd/hvd.py +0 -212
  37. pysdkit-0.4.42/pysdkit/_itd/__init__.py +0 -6
  38. pysdkit-0.4.42/pysdkit/_osd/__init__.py +0 -6
  39. pysdkit-0.4.42/pysdkit/_ssa/__init__.py +0 -6
  40. {pysdkit-0.4.42 → pysdkit-0.4.44}/LICENSE +0 -0
  41. {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/dependency_links.txt +0 -0
  42. {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/requires.txt +0 -0
  43. {pysdkit-0.4.42 → pysdkit-0.4.44}/PySDKit.egg-info/top_level.txt +0 -0
  44. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/_find_extrema.py +0 -0
  45. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/_prepare_points.py +0 -0
  46. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/_splines.py +0 -0
  47. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/ceemdan.py +0 -0
  48. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/eemd.py +0 -0
  49. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/efd.py +0 -0
  50. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/emd.py +0 -0
  51. {pysdkit-0.4.42/pysdkit/_esmd → pysdkit-0.4.44/pysdkit/_emd}/esmd.py +0 -0
  52. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/hht/__init__.py +0 -0
  53. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/hht/frequency.py +0 -0
  54. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/hht/hht.py +0 -0
  55. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/memd.py +0 -0
  56. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/remd.py +0 -0
  57. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/semd.py +0 -0
  58. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd/tvf_emd.py +0 -0
  59. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd2d/__init__.py +0 -0
  60. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd2d/bemd.py +0 -0
  61. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd2d/bmemd.py +0 -0
  62. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_emd2d/emd2d.py +0 -0
  63. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_ewt/__init__.py +0 -0
  64. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_ewt/ewt.py +0 -0
  65. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_ewt/ewt2d.py +0 -0
  66. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/__init__.py +0 -0
  67. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/extrema.py +0 -0
  68. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/faemd.py +0 -0
  69. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/faemd2d.py +0 -0
  70. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/faemd3d.py +0 -0
  71. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_faemd/filter.py +0 -0
  72. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_fmd/nfmd.py +0 -0
  73. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/__init__.py +0 -0
  74. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/agncmd.py +0 -0
  75. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/gdmd.py +0 -0
  76. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/ivgnmd.py +0 -0
  77. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_gdmd/vgnmd.py +0 -0
  78. {pysdkit-0.4.42/pysdkit/_apmd → pysdkit-0.4.44/pysdkit/_imd}/apmd.py +0 -0
  79. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_jmd/__init__.py +0 -0
  80. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_jmd/jmd.py +0 -0
  81. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_jmd/mjmd.py +0 -0
  82. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_jmd/sjmd.py +0 -0
  83. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_lmd/__init__.py +0 -0
  84. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_lmd/lmd.py +0 -0
  85. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_lmd/rlmd.py +0 -0
  86. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_osd/swd.py +0 -0
  87. {pysdkit-0.4.42/pysdkit/_alif → pysdkit-0.4.44/pysdkit/_tid}/data/__init__.py +0 -0
  88. {pysdkit-0.4.42/pysdkit/_alif → pysdkit-0.4.44/pysdkit/_tid}/data/prefixed_double_filter.npy +0 -0
  89. {pysdkit-0.4.42/pysdkit/_itd → pysdkit-0.4.44/pysdkit/_tid}/itd.py +0 -0
  90. {pysdkit-0.4.42/pysdkit/_alif → pysdkit-0.4.44/pysdkit/_tid}/iterative_filtering.py +0 -0
  91. {pysdkit-0.4.42/pysdkit/_ssa → pysdkit-0.4.44/pysdkit/_tid}/ssa.py +0 -0
  92. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/__init__.py +0 -0
  93. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/acmd.py +0 -0
  94. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/avmd.py +0 -0
  95. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/ba_acmd.py +0 -0
  96. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/base.py +0 -0
  97. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/mvmd.py +0 -0
  98. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/ovmd.py +0 -0
  99. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/stvmd.py +0 -0
  100. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/svmd.py +0 -0
  101. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/vmd_c.py +0 -0
  102. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/vmd_f.py +0 -0
  103. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd/vme.py +0 -0
  104. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd2d/__init__.py +0 -0
  105. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd2d/cvmd2d.py +0 -0
  106. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vmd2d/vmd2d.py +0 -0
  107. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vncmd/__init__.py +0 -0
  108. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vncmd/avncmd.py +0 -0
  109. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vncmd/incmd.py +0 -0
  110. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/_vncmd/vncmd.py +0 -0
  111. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_add_noise.py +0 -0
  112. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_cube.py +0 -0
  113. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_image.py +0 -0
  114. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_models.py +0 -0
  115. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_test_univariate.py +0 -0
  116. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/_time_series.py +0 -0
  117. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/data/texture.txt +0 -0
  118. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/entropy/__init__.py +0 -0
  119. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/entropy/_approxiamte_entropy.py +0 -0
  120. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/entropy/_permutation_entropy.py +0 -0
  121. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/entropy/_sample_entropy.py +0 -0
  122. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/__init__.py +0 -0
  123. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/_base.py +0 -0
  124. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/_kmeans.py +0 -0
  125. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/_knn.py +0 -0
  126. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/models/_pca.py +0 -0
  127. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/__init__.py +0 -0
  128. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_fourier_spectra.py +0 -0
  129. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_functions.py +0 -0
  130. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_plot_images.py +0 -0
  131. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_plot_imfs.py +0 -0
  132. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/plot/_plot_signal.py +0 -0
  133. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/__init__.py +0 -0
  134. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/__init__.py +0 -0
  135. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_cube.py +0 -0
  136. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_image.py +0 -0
  137. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_signal.py +0 -0
  138. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_univariate_signal.py +0 -0
  139. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/models/__init__.py +0 -0
  140. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/models/test_knn.py +0 -0
  141. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/models/test_pca.py +0 -0
  142. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/run_all.py +0 -0
  143. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_agncmd.py +0 -0
  144. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_avncmd.py +0 -0
  145. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_bmemd.py +0 -0
  146. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ceemdan.py +0 -0
  147. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_cvmd2d.py +0 -0
  148. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_eemd.py +0 -0
  149. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_emd.py +0 -0
  150. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ewt.py +0 -0
  151. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ewt2d.py +0 -0
  152. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_faemd.py +0 -0
  153. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_faemd2d.py +0 -0
  154. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_faemd3d.py +0 -0
  155. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_gdmd.py +0 -0
  156. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_itd.py +0 -0
  157. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ivgnmd.py +0 -0
  158. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_jmd.py +0 -0
  159. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_lmd.py +0 -0
  160. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_moving_decomp.py +0 -0
  161. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_mstl.py +0 -0
  162. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ovmd.py +0 -0
  163. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_rlmd.py +0 -0
  164. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_semd.py +0 -0
  165. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_sjmd.py +0 -0
  166. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_ssa.py +0 -0
  167. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_stl.py +0 -0
  168. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_stvmd.py +0 -0
  169. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_svmd.py +0 -0
  170. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_swd.py +0 -0
  171. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_vgnmd.py +0 -0
  172. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_vmd.py +0 -0
  173. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_vmd2d.py +0 -0
  174. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tests/test_vncmd.py +0 -0
  175. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/__init__.py +0 -0
  176. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/_dtw.py +0 -0
  177. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/_moving_decomp.py +0 -0
  178. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/_mstl.py +0 -0
  179. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/tsa/_stl.py +0 -0
  180. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/__init__.py +0 -0
  181. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_correlation.py +0 -0
  182. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_diagnalization.py +0 -0
  183. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_differ.py +0 -0
  184. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_fft.py +0 -0
  185. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_function.py +0 -0
  186. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_hilbert.py +0 -0
  187. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_instantaneous.py +0 -0
  188. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_kernel_matrix.py +0 -0
  189. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_mirror.py +0 -0
  190. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_process.py +0 -0
  191. {pysdkit-0.4.42 → pysdkit-0.4.44}/pysdkit/utils/_smooth1d.py +0 -0
  192. {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.42
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
- Author-email: Whenxuan Wang <wwhenxuan@gmail.com>, RuiZhe Wang <3133986068@qq.com>, Rongkun Zhu <mrpigzrk@gmail.com>, Kai Wu <kwu@xidian.edu.cn>, Lei Wang <wang_lei4759@163.com>, WenTong Zhao <23049200290@stu.xidian.edu.cn>
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/_hvd/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) | ✔️ |
160
- | [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_itd/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) | ✔️ |
161
- | [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_alif/alif.py) (Adaptive Local Iterative Filtering) | [[paper]](https://arxiv.org/abs/1411.6051) | [[code]](https://github.com/Cicone/ALIF) | ✔️ |
162
- | [`APMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_apmd/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/_apmd/apmd.py) | ✔️ |
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/_ssa/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) | ✔️ |
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
- | [`ESMD`]() (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✔️ |
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)and [dsatools](https://github.com/MVRonkin/dsatools), [signal-decomposition](https://github.com/wwhenxuan/signal-decomposition).
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.42
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
- Author-email: Whenxuan Wang <wwhenxuan@gmail.com>, RuiZhe Wang <3133986068@qq.com>, Rongkun Zhu <mrpigzrk@gmail.com>, Kai Wu <kwu@xidian.edu.cn>, Lei Wang <wang_lei4759@163.com>, WenTong Zhao <23049200290@stu.xidian.edu.cn>
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/_hvd/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) | ✔️ |
160
- | [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_itd/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) | ✔️ |
161
- | [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_alif/alif.py) (Adaptive Local Iterative Filtering) | [[paper]](https://arxiv.org/abs/1411.6051) | [[code]](https://github.com/Cicone/ALIF) | ✔️ |
162
- | [`APMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_apmd/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/_apmd/apmd.py) | ✔️ |
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/_ssa/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) | ✔️ |
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
- | [`ESMD`]() (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✔️ |
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)and [dsatools](https://github.com/MVRonkin/dsatools), [signal-decomposition](https://github.com/wwhenxuan/signal-decomposition).
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/_hvd/__init__.py
56
- pysdkit/_hvd/hvd.py
57
- pysdkit/_itd/__init__.py
58
- pysdkit/_itd/itd.py
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/_ssa/__init__.py
69
- pysdkit/_ssa/ssa.py
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/_hvd/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) | ✔️ |
107
- | [`ITD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_itd/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) | ✔️ |
108
- | [`ALIF`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_alif/alif.py) (Adaptive Local Iterative Filtering) | [[paper]](https://arxiv.org/abs/1411.6051) | [[code]](https://github.com/Cicone/ALIF) | ✔️ |
109
- | [`APMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_apmd/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/_apmd/apmd.py) | ✔️ |
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/_ssa/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) | ✔️ |
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
- | [`ESMD`]() (Extreme-Point Symmetric Mode Decomposition) | [[paper]](https://arxiv.org/abs/1303.6540) | [[code]](https://github.com/WuShichao/esmd) | ✔️ |
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)and [dsatools](https://github.com/MVRonkin/dsatools), [signal-decomposition](https://github.com/wwhenxuan/signal-decomposition).
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", email = "wwhenxuan@gmail.com" },
14
- { name = "RuiZhe Wang", email = "3133986068@qq.com" },
15
- { name = "Rongkun Zhu", email = "mrpigzrk@gmail.com"},
16
- { name = "Kai Wu", email = "kwu@xidian.edu.cn"},
17
- { name = "Lei Wang", email = "wang_lei4759@163.com"},
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", email = "23049200290@stu.xidian.edu.cn" },
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._alif" = ["data/*.npy"]
68
- "pysdkit._alif.data" = ["*.npy"]
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.42"
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 ._hvd import HVD
40
+ # Hilbert Vibration Decomposition (time iterative decomposition)
41
+ from ._tid import HVD
42
42
 
43
- # Intrinsic Time-Scale Decomposition
44
- from ._itd import ITD
43
+ # Intrinsic Time-Scale Decomposition (time iterative decomposition)
44
+ from ._tid import ITD
45
45
 
46
46
  # Extreme-Point Symmetric Mode Decomposition
47
- from ._esmd import ESMD, esmd
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 ._ssa import SSA
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 ._alif import ALIF
112
+ # Adaptive Local Iterative Filtering (time iterative decomposition)
113
+ from ._tid import ALIF
111
114
 
112
- # Adaptive Polymorphic Mode Decomposition
113
- from ._apmd import APMD
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",
@@ -26,3 +26,5 @@ from .efd import EFD
26
26
  from .hht import HHT
27
27
 
28
28
  from .semd import SEMD, concatenate_signals, deconcatenate_imfs, transition_bridge
29
+
30
+ from .esmd import ESMD, esmd
@@ -0,0 +1,8 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Feature Mode Decomposition (FMD / NFMD).
4
+ """
5
+
6
+ from .fmd import CK, FMD, TT, max_IJ
7
+
8
+ __all__ = ["FMD", "TT", "CK", "max_IJ"]