PySDKit 0.4.43__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 (187) hide show
  1. {pysdkit-0.4.43 → pysdkit-0.4.44}/PKG-INFO +8 -5
  2. {pysdkit-0.4.43 → pysdkit-0.4.44}/PySDKit.egg-info/PKG-INFO +8 -5
  3. {pysdkit-0.4.43 → pysdkit-0.4.44}/PySDKit.egg-info/SOURCES.txt +10 -4
  4. {pysdkit-0.4.43 → pysdkit-0.4.44}/README.md +7 -4
  5. {pysdkit-0.4.43 → pysdkit-0.4.44}/pyproject.toml +3 -0
  6. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/__init__.py +9 -5
  7. {pysdkit-0.4.43 → 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.43 → pysdkit-0.4.44}/pysdkit/_osd/components.py +3 -1
  15. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_osd/osd.py +9 -3
  16. pysdkit-0.4.44/pysdkit/_tid/hvd.py +188 -0
  17. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/__init__.py +4 -0
  18. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/_generator.py +24 -0
  19. pysdkit-0.4.44/pysdkit/data/fmd_demo.npy +0 -0
  20. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_apmd.py +1 -1
  21. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_esmd.py +1 -1
  22. pysdkit-0.4.44/pysdkit/tests/test_fmd.py +246 -0
  23. pysdkit-0.4.44/pysdkit/tests/test_hvd.py +161 -0
  24. pysdkit-0.4.44/pysdkit/tests/test_imd.py +208 -0
  25. pysdkit-0.4.43/pysdkit/_apmd/__init__.py +0 -6
  26. pysdkit-0.4.43/pysdkit/_esmd/__init__.py +0 -36
  27. pysdkit-0.4.43/pysdkit/_fmd/__init__.py +0 -6
  28. pysdkit-0.4.43/pysdkit/_fmd/fmd.py +0 -301
  29. pysdkit-0.4.43/pysdkit/_tid/hvd.py +0 -212
  30. {pysdkit-0.4.43 → pysdkit-0.4.44}/LICENSE +0 -0
  31. {pysdkit-0.4.43 → pysdkit-0.4.44}/PySDKit.egg-info/dependency_links.txt +0 -0
  32. {pysdkit-0.4.43 → pysdkit-0.4.44}/PySDKit.egg-info/requires.txt +0 -0
  33. {pysdkit-0.4.43 → pysdkit-0.4.44}/PySDKit.egg-info/top_level.txt +0 -0
  34. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/_find_extrema.py +0 -0
  35. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/_prepare_points.py +0 -0
  36. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/_splines.py +0 -0
  37. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/ceemdan.py +0 -0
  38. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/eemd.py +0 -0
  39. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/efd.py +0 -0
  40. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/emd.py +0 -0
  41. {pysdkit-0.4.43/pysdkit/_esmd → pysdkit-0.4.44/pysdkit/_emd}/esmd.py +0 -0
  42. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/hht/__init__.py +0 -0
  43. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/hht/frequency.py +0 -0
  44. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/hht/hht.py +0 -0
  45. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/memd.py +0 -0
  46. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/remd.py +0 -0
  47. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/semd.py +0 -0
  48. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd/tvf_emd.py +0 -0
  49. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd2d/__init__.py +0 -0
  50. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd2d/bemd.py +0 -0
  51. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd2d/bmemd.py +0 -0
  52. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_emd2d/emd2d.py +0 -0
  53. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_ewt/__init__.py +0 -0
  54. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_ewt/ewt.py +0 -0
  55. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_ewt/ewt2d.py +0 -0
  56. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_faemd/__init__.py +0 -0
  57. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_faemd/extrema.py +0 -0
  58. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_faemd/faemd.py +0 -0
  59. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_faemd/faemd2d.py +0 -0
  60. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_faemd/faemd3d.py +0 -0
  61. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_faemd/filter.py +0 -0
  62. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_fmd/nfmd.py +0 -0
  63. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_gdmd/__init__.py +0 -0
  64. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_gdmd/agncmd.py +0 -0
  65. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_gdmd/gdmd.py +0 -0
  66. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_gdmd/ivgnmd.py +0 -0
  67. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_gdmd/vgnmd.py +0 -0
  68. {pysdkit-0.4.43/pysdkit/_apmd → pysdkit-0.4.44/pysdkit/_imd}/apmd.py +0 -0
  69. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_jmd/__init__.py +0 -0
  70. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_jmd/jmd.py +0 -0
  71. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_jmd/mjmd.py +0 -0
  72. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_jmd/sjmd.py +0 -0
  73. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_lmd/__init__.py +0 -0
  74. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_lmd/lmd.py +0 -0
  75. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_lmd/rlmd.py +0 -0
  76. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_osd/__init__.py +0 -0
  77. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_osd/swd.py +0 -0
  78. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_tid/__init__.py +0 -0
  79. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_tid/alif.py +0 -0
  80. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_tid/data/__init__.py +0 -0
  81. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_tid/data/prefixed_double_filter.npy +0 -0
  82. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_tid/itd.py +0 -0
  83. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_tid/iterative_filtering.py +0 -0
  84. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_tid/ssa.py +0 -0
  85. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/__init__.py +0 -0
  86. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/acmd.py +0 -0
  87. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/avmd.py +0 -0
  88. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/ba_acmd.py +0 -0
  89. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/base.py +0 -0
  90. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/mvmd.py +0 -0
  91. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/ovmd.py +0 -0
  92. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/stvmd.py +0 -0
  93. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/svmd.py +0 -0
  94. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/vmd_c.py +0 -0
  95. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/vmd_f.py +0 -0
  96. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd/vme.py +0 -0
  97. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd2d/__init__.py +0 -0
  98. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd2d/cvmd2d.py +0 -0
  99. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vmd2d/vmd2d.py +0 -0
  100. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vncmd/__init__.py +0 -0
  101. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vncmd/avncmd.py +0 -0
  102. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vncmd/incmd.py +0 -0
  103. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/_vncmd/vncmd.py +0 -0
  104. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/_add_noise.py +0 -0
  105. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/_cube.py +0 -0
  106. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/_image.py +0 -0
  107. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/_models.py +0 -0
  108. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/_test_univariate.py +0 -0
  109. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/_time_series.py +0 -0
  110. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/data/texture.txt +0 -0
  111. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/entropy/__init__.py +0 -0
  112. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/entropy/_approxiamte_entropy.py +0 -0
  113. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/entropy/_permutation_entropy.py +0 -0
  114. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/entropy/_sample_entropy.py +0 -0
  115. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/models/__init__.py +0 -0
  116. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/models/_base.py +0 -0
  117. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/models/_kmeans.py +0 -0
  118. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/models/_knn.py +0 -0
  119. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/models/_pca.py +0 -0
  120. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/plot/__init__.py +0 -0
  121. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/plot/_fourier_spectra.py +0 -0
  122. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/plot/_functions.py +0 -0
  123. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/plot/_plot_images.py +0 -0
  124. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/plot/_plot_imfs.py +0 -0
  125. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/plot/_plot_signal.py +0 -0
  126. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/__init__.py +0 -0
  127. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/data/__init__.py +0 -0
  128. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_cube.py +0 -0
  129. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_image.py +0 -0
  130. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_signal.py +0 -0
  131. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/data/test_generator_univariate_signal.py +0 -0
  132. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/models/__init__.py +0 -0
  133. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/models/test_knn.py +0 -0
  134. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/models/test_pca.py +0 -0
  135. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/run_all.py +0 -0
  136. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_agncmd.py +0 -0
  137. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_alif.py +0 -0
  138. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_avncmd.py +0 -0
  139. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_bmemd.py +0 -0
  140. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_ceemdan.py +0 -0
  141. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_cvmd2d.py +0 -0
  142. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_eemd.py +0 -0
  143. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_emd.py +0 -0
  144. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_ewt.py +0 -0
  145. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_ewt2d.py +0 -0
  146. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_faemd.py +0 -0
  147. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_faemd2d.py +0 -0
  148. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_faemd3d.py +0 -0
  149. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_gdmd.py +0 -0
  150. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_itd.py +0 -0
  151. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_ivgnmd.py +0 -0
  152. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_jmd.py +0 -0
  153. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_lmd.py +0 -0
  154. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_moving_decomp.py +0 -0
  155. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_mstl.py +0 -0
  156. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_osd.py +0 -0
  157. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_ovmd.py +0 -0
  158. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_rlmd.py +0 -0
  159. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_semd.py +0 -0
  160. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_sjmd.py +0 -0
  161. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_ssa.py +0 -0
  162. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_stl.py +0 -0
  163. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_stvmd.py +0 -0
  164. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_svmd.py +0 -0
  165. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_swd.py +0 -0
  166. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_vgnmd.py +0 -0
  167. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_vmd.py +0 -0
  168. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_vmd2d.py +0 -0
  169. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tests/test_vncmd.py +0 -0
  170. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tsa/__init__.py +0 -0
  171. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tsa/_dtw.py +0 -0
  172. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tsa/_moving_decomp.py +0 -0
  173. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tsa/_mstl.py +0 -0
  174. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/tsa/_stl.py +0 -0
  175. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/__init__.py +0 -0
  176. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_correlation.py +0 -0
  177. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_diagnalization.py +0 -0
  178. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_differ.py +0 -0
  179. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_fft.py +0 -0
  180. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_function.py +0 -0
  181. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_hilbert.py +0 -0
  182. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_instantaneous.py +0 -0
  183. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_kernel_matrix.py +0 -0
  184. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_mirror.py +0 -0
  185. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_process.py +0 -0
  186. {pysdkit-0.4.43 → pysdkit-0.4.44}/pysdkit/utils/_smooth1d.py +0 -0
  187. {pysdkit-0.4.43 → pysdkit-0.4.44}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySDKit
3
- Version: 0.4.43
3
+ Version: 0.4.44
4
4
  Summary: A Python library for signal decomposition algorithms with a unified interface.
5
5
  Author: Whenxuan Wang, RuiZhe Wang, Rongkun Zhu, Kai Wu, Lei Wang, josefinez, Deeksha Manjunath, Yuan Feng, WenTong Zhao, JacktheFowler
6
6
  Maintainer-email: Whenxuan Wang <wwhenxuan@gmail.com>, RuiZhe Wang <3133986068@qq.com>
@@ -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) | ✔️ |
@@ -159,7 +161,8 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
159
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) | ✔️ |
160
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) | ✔️ |
161
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) | ✔️ |
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) | ✔️ |
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) | ✔️ |
@@ -188,10 +191,10 @@ 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) | ✔️ |
194
- | [`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) | ✔️ |
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) | ✔️ |
195
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) | ✔️ |
196
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) | ✔️ |
197
200
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySDKit
3
- Version: 0.4.43
3
+ Version: 0.4.44
4
4
  Summary: A Python library for signal decomposition algorithms with a unified interface.
5
5
  Author: Whenxuan Wang, RuiZhe Wang, Rongkun Zhu, Kai Wu, Lei Wang, josefinez, Deeksha Manjunath, Yuan Feng, WenTong Zhao, JacktheFowler
6
6
  Maintainer-email: Whenxuan Wang <wwhenxuan@gmail.com>, RuiZhe Wang <3133986068@qq.com>
@@ -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) | ✔️ |
@@ -159,7 +161,8 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
159
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) | ✔️ |
160
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) | ✔️ |
161
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) | ✔️ |
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) | ✔️ |
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) | ✔️ |
@@ -188,10 +191,10 @@ 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) | ✔️ |
194
- | [`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) | ✔️ |
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) | ✔️ |
195
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) | ✔️ |
196
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) | ✔️ |
197
200
 
@@ -7,8 +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/_apmd/__init__.py
11
- pysdkit/_apmd/apmd.py
12
10
  pysdkit/_emd/__init__.py
13
11
  pysdkit/_emd/_find_extrema.py
14
12
  pysdkit/_emd/_prepare_points.py
@@ -17,6 +15,7 @@ pysdkit/_emd/ceemdan.py
17
15
  pysdkit/_emd/eemd.py
18
16
  pysdkit/_emd/efd.py
19
17
  pysdkit/_emd/emd.py
18
+ pysdkit/_emd/esmd.py
20
19
  pysdkit/_emd/memd.py
21
20
  pysdkit/_emd/remd.py
22
21
  pysdkit/_emd/semd.py
@@ -28,8 +27,6 @@ pysdkit/_emd2d/__init__.py
28
27
  pysdkit/_emd2d/bemd.py
29
28
  pysdkit/_emd2d/bmemd.py
30
29
  pysdkit/_emd2d/emd2d.py
31
- pysdkit/_esmd/__init__.py
32
- pysdkit/_esmd/esmd.py
33
30
  pysdkit/_ewt/__init__.py
34
31
  pysdkit/_ewt/ewt.py
35
32
  pysdkit/_ewt/ewt2d.py
@@ -47,6 +44,11 @@ pysdkit/_gdmd/agncmd.py
47
44
  pysdkit/_gdmd/gdmd.py
48
45
  pysdkit/_gdmd/ivgnmd.py
49
46
  pysdkit/_gdmd/vgnmd.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
50
52
  pysdkit/_jmd/__init__.py
51
53
  pysdkit/_jmd/jmd.py
52
54
  pysdkit/_jmd/mjmd.py
@@ -93,6 +95,7 @@ pysdkit/data/_image.py
93
95
  pysdkit/data/_models.py
94
96
  pysdkit/data/_test_univariate.py
95
97
  pysdkit/data/_time_series.py
98
+ pysdkit/data/fmd_demo.npy
96
99
  pysdkit/data/texture.txt
97
100
  pysdkit/entropy/__init__.py
98
101
  pysdkit/entropy/_approxiamte_entropy.py
@@ -126,7 +129,10 @@ pysdkit/tests/test_ewt2d.py
126
129
  pysdkit/tests/test_faemd.py
127
130
  pysdkit/tests/test_faemd2d.py
128
131
  pysdkit/tests/test_faemd3d.py
132
+ pysdkit/tests/test_fmd.py
129
133
  pysdkit/tests/test_gdmd.py
134
+ pysdkit/tests/test_hvd.py
135
+ pysdkit/tests/test_imd.py
130
136
  pysdkit/tests/test_itd.py
131
137
  pysdkit/tests/test_ivgnmd.py
132
138
  pysdkit/tests/test_jmd.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) | ✔️ |
@@ -106,7 +108,8 @@ plot_IMFs_amplitude_spectra(IMFs, smooth="exp") # use exp smooth
106
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) | ✔️ |
107
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) | ✔️ |
108
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) | ✔️ |
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) | ✔️ |
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) | ✔️ |
@@ -135,10 +138,10 @@ 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) | ✔️ |
141
- | [`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) | ✔️ |
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) | ✔️ |
142
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) | ✔️ |
143
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) | ✔️ |
144
147
 
@@ -68,5 +68,8 @@ include = ["pysdkit*"]
68
68
 
69
69
  [tool.setuptools.package-data]
70
70
  "*" = ["*.txt", "*.npy"]
71
+ "pysdkit.data" = ["*.txt", "*.npy"]
71
72
  "pysdkit._tid" = ["data/*.npy"]
72
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.43"
5
+ __version__ = "0.4.44"
6
6
 
7
7
  # Empirical Mode Decomposition
8
8
  from ._emd import EMD
@@ -44,7 +44,7 @@ from ._tid import HVD
44
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
@@ -112,8 +112,8 @@ from ._vncmd import AVNCMD
112
112
  # Adaptive Local Iterative Filtering (time iterative decomposition)
113
113
  from ._tid import ALIF
114
114
 
115
- # Adaptive Polymorphic Mode Decomposition
116
- from ._apmd import APMD
115
+ # Adaptive Polymorphic Mode Decomposition / Impulsive Mode Decomposition
116
+ from ._imd import APMD, IMD, imd
117
117
 
118
118
  # Empirical Wavelet Transform
119
119
  from ._ewt import ewt, EWT
@@ -207,6 +207,7 @@ Iterative Nonlinear Chirp Mode Decomposition | INCMD
207
207
  Adaptive Variational Nonlinear Chirp Mode Dec. | AVNCMD
208
208
  Adaptive Local Iterative Filtering | ALIF
209
209
  Adaptive Polymorphic Mode Decomposition | APMD
210
+ Impulsive Mode Decomposition | IMD
210
211
  Empirical Wavelet Transform | EWT
211
212
  Empirical Wavelet Transform for 2D Image | EWT2D
212
213
  Jump Plus AM-FM Mode Decomposition | JMD
@@ -246,7 +247,8 @@ __all__ = [
246
247
  "SWD",
247
248
  "swd",
248
249
  "OSD",
249
- "GDMD", "gdmd",
250
+ "GDMD",
251
+ "gdmd",
250
252
  "VGNMD",
251
253
  "vgnmd",
252
254
  "IVGNMD",
@@ -272,6 +274,8 @@ __all__ = [
272
274
  "AVNCMD",
273
275
  "ALIF",
274
276
  "APMD",
277
+ "IMD",
278
+ "imd",
275
279
  "ewt",
276
280
  "EWT",
277
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"]