PySDKit 0.4.49__tar.gz → 0.4.51__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 (217) hide show
  1. {pysdkit-0.4.49 → pysdkit-0.4.51}/PKG-INFO +3 -4
  2. {pysdkit-0.4.49 → pysdkit-0.4.51}/PySDKit.egg-info/PKG-INFO +3 -4
  3. {pysdkit-0.4.49 → pysdkit-0.4.51}/PySDKit.egg-info/SOURCES.txt +23 -11
  4. {pysdkit-0.4.49 → pysdkit-0.4.51}/README.md +2 -3
  5. {pysdkit-0.4.49 → pysdkit-0.4.51}/pyproject.toml +1 -8
  6. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/__init__.py +9 -7
  7. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_acmd/acmd.py +5 -7
  8. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_acmd/ba_acmd.py +4 -12
  9. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_acmd/dd_acmd.py +15 -7
  10. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/__init__.py +0 -2
  11. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/esmd.py +2 -13
  12. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/hht/hht.py +2 -2
  13. pysdkit-0.4.51/pysdkit/_emd/memd.py +903 -0
  14. pysdkit-0.4.51/pysdkit/_emd/remd.py +481 -0
  15. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/tvf_emd.py +127 -156
  16. pysdkit-0.4.51/pysdkit/_emd2d/__init__.py +13 -0
  17. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd2d/bmemd.py +223 -44
  18. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd2d/emd2d.py +24 -5
  19. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_ewt/__init__.py +5 -1
  20. pysdkit-0.4.51/pysdkit/_ewt/efd.py +319 -0
  21. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_imd/__init__.py +1 -2
  22. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_imd/imd.py +2 -22
  23. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tfa/__init__.py +3 -1
  24. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tfa/vtfmtd.py +2 -61
  25. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tid/alif.py +1 -1
  26. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tid/iterative_filtering.py +1 -18
  27. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd/__init__.py +9 -1
  28. pysdkit-0.4.51/pysdkit/_vmd/namvmd.py +0 -0
  29. pysdkit-0.4.51/pysdkit/_vmd/vme.py +427 -0
  30. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/__init__.py +31 -3
  31. pysdkit-0.4.51/pysdkit/data/_assets.py +23 -0
  32. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/_generator.py +0 -48
  33. pysdkit-0.4.51/pysdkit/data/_loaders.py +206 -0
  34. pysdkit-0.4.51/pysdkit/data/ecg_055m.npy +0 -0
  35. pysdkit-0.4.51/pysdkit/data/memd_syn_12channel.npy +0 -0
  36. pysdkit-0.4.51/pysdkit/data/memd_syn_16channel.npy +0 -0
  37. pysdkit-0.4.51/pysdkit/data/memd_syn_hex.npy +0 -0
  38. pysdkit-0.4.51/pysdkit/data/memd_taichi_hex.npy +0 -0
  39. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_alif.py +1 -1
  40. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_ddacmd.py +6 -2
  41. pysdkit-0.4.51/pysdkit/tests/test_efd.py +278 -0
  42. pysdkit-0.4.51/pysdkit/tests/test_emd2d.py +170 -0
  43. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_esmd.py +1 -1
  44. pysdkit-0.4.51/pysdkit/tests/test_hht.py +294 -0
  45. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_imd.py +1 -2
  46. pysdkit-0.4.51/pysdkit/tests/test_memd.py +375 -0
  47. pysdkit-0.4.51/pysdkit/tests/test_mvmd.py +208 -0
  48. pysdkit-0.4.51/pysdkit/tests/test_remd.py +200 -0
  49. pysdkit-0.4.51/pysdkit/tests/test_tvfemd.py +182 -0
  50. pysdkit-0.4.51/pysdkit/tests/test_vme.py +327 -0
  51. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_vtfmtd.py +1 -3
  52. pysdkit-0.4.49/pysdkit/_emd/efd.py +0 -203
  53. pysdkit-0.4.49/pysdkit/_emd/memd.py +0 -831
  54. pysdkit-0.4.49/pysdkit/_emd/remd.py +0 -544
  55. pysdkit-0.4.49/pysdkit/_emd2d/__init__.py +0 -8
  56. pysdkit-0.4.49/pysdkit/_emd2d/bemd.py +0 -4
  57. pysdkit-0.4.49/pysdkit/_tfa/data/__init__.py +0 -2
  58. pysdkit-0.4.49/pysdkit/_tid/data/__init__.py +0 -1
  59. pysdkit-0.4.49/pysdkit/_vmd/avmd.py +0 -26
  60. pysdkit-0.4.49/pysdkit/_vmd/vme.py +0 -218
  61. {pysdkit-0.4.49 → pysdkit-0.4.51}/LICENSE +0 -0
  62. {pysdkit-0.4.49 → pysdkit-0.4.51}/PySDKit.egg-info/dependency_links.txt +0 -0
  63. {pysdkit-0.4.49 → pysdkit-0.4.51}/PySDKit.egg-info/requires.txt +0 -0
  64. {pysdkit-0.4.49 → pysdkit-0.4.51}/PySDKit.egg-info/top_level.txt +0 -0
  65. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_acmd/__init__.py +0 -0
  66. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/_find_extrema.py +0 -0
  67. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/_prepare_points.py +0 -0
  68. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/_splines.py +0 -0
  69. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/ceemdan.py +0 -0
  70. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/eemd.py +0 -0
  71. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/emd.py +0 -0
  72. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/hht/__init__.py +0 -0
  73. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/hht/frequency.py +0 -0
  74. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_emd/semd.py +0 -0
  75. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_ewt/ewt.py +0 -0
  76. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_ewt/ewt2d.py +0 -0
  77. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_faemd/__init__.py +0 -0
  78. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_faemd/extrema.py +0 -0
  79. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_faemd/faemd.py +0 -0
  80. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_faemd/faemd2d.py +0 -0
  81. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_faemd/faemd3d.py +0 -0
  82. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_faemd/filter.py +0 -0
  83. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_gdmd/__init__.py +0 -0
  84. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_gdmd/agncmd.py +0 -0
  85. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_gdmd/gdmd.py +0 -0
  86. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_gdmd/ivgnmd.py +0 -0
  87. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_gdmd/vgnmd.py +0 -0
  88. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_imd/apmd.py +0 -0
  89. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_jmd/__init__.py +0 -0
  90. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_jmd/jmd.py +0 -0
  91. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_jmd/mjmd.py +0 -0
  92. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_jmd/sjmd.py +0 -0
  93. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_lmd/__init__.py +0 -0
  94. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_lmd/lmd.py +0 -0
  95. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_lmd/rlmd.py +0 -0
  96. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_osd/__init__.py +0 -0
  97. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_osd/components.py +0 -0
  98. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_osd/osd.py +0 -0
  99. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_osd/swd.py +0 -0
  100. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tid/__init__.py +0 -0
  101. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tid/fmd.py +0 -0
  102. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tid/hvd.py +0 -0
  103. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tid/itd.py +0 -0
  104. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_tid/ssa.py +0 -0
  105. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd/base.py +0 -0
  106. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd/mvmd.py +0 -0
  107. /pysdkit-0.4.49/pysdkit/_vmd/namvmd.py → /pysdkit-0.4.51/pysdkit/_vmd/na_mvmd.py +0 -0
  108. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd/ovmd.py +0 -0
  109. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd/stvmd.py +0 -0
  110. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd/svmd.py +0 -0
  111. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd/vmd_c.py +0 -0
  112. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd/vmd_f.py +0 -0
  113. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd2d/__init__.py +0 -0
  114. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd2d/cvmd2d.py +0 -0
  115. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vmd2d/vmd2d.py +0 -0
  116. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vncmd/__init__.py +0 -0
  117. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vncmd/avncmd.py +0 -0
  118. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vncmd/incmd.py +0 -0
  119. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vncmd/stnbmd.py +0 -0
  120. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/_vncmd/vncmd.py +0 -0
  121. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/_add_noise.py +0 -0
  122. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/_cube.py +0 -0
  123. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/_image.py +0 -0
  124. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/_models.py +0 -0
  125. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/_test_univariate.py +0 -0
  126. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/_time_series.py +0 -0
  127. {pysdkit-0.4.49/pysdkit/_tfa → pysdkit-0.4.51/pysdkit}/data/dual_signal_noise.npy +0 -0
  128. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/fmd_demo.npy +0 -0
  129. {pysdkit-0.4.49/pysdkit/_imd → pysdkit-0.4.51/pysdkit}/data/gearbox_fault_snippet.npy +0 -0
  130. {pysdkit-0.4.49/pysdkit/_imd → pysdkit-0.4.51/pysdkit}/data/input_sig.npy +0 -0
  131. {pysdkit-0.4.49/pysdkit/_tfa → pysdkit-0.4.51/pysdkit}/data/map2.npy +0 -0
  132. {pysdkit-0.4.49/pysdkit/_tid → pysdkit-0.4.51/pysdkit}/data/prefixed_double_filter.npy +0 -0
  133. {pysdkit-0.4.49/pysdkit/_tfa → pysdkit-0.4.51/pysdkit}/data/single_nsignal.npy +0 -0
  134. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/texture.txt +0 -0
  135. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/data/vmd_example.npy +0 -0
  136. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/entropy/__init__.py +0 -0
  137. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/entropy/_approxiamte_entropy.py +0 -0
  138. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/entropy/_permutation_entropy.py +0 -0
  139. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/entropy/_sample_entropy.py +0 -0
  140. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/models/__init__.py +0 -0
  141. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/models/_base.py +0 -0
  142. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/models/_kmeans.py +0 -0
  143. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/models/_knn.py +0 -0
  144. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/models/_pca.py +0 -0
  145. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/plot/__init__.py +0 -0
  146. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/plot/_fourier_spectra.py +0 -0
  147. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/plot/_functions.py +0 -0
  148. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/plot/_plot_images.py +0 -0
  149. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/plot/_plot_imfs.py +0 -0
  150. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/plot/_plot_signal.py +0 -0
  151. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/__init__.py +0 -0
  152. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/data/__init__.py +0 -0
  153. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/data/test_generator_cube.py +0 -0
  154. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/data/test_generator_image.py +0 -0
  155. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/data/test_generator_signal.py +0 -0
  156. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/data/test_generator_univariate_signal.py +0 -0
  157. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/models/__init__.py +0 -0
  158. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/models/test_knn.py +0 -0
  159. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/models/test_pca.py +0 -0
  160. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/run_all.py +0 -0
  161. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_acmd.py +0 -0
  162. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_agncmd.py +0 -0
  163. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_apmd.py +0 -0
  164. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_avncmd.py +0 -0
  165. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_baacmd.py +0 -0
  166. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_bmemd.py +0 -0
  167. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_ceemdan.py +0 -0
  168. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_cvmd2d.py +0 -0
  169. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_eemd.py +0 -0
  170. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_emd.py +0 -0
  171. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_ewt.py +0 -0
  172. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_ewt2d.py +0 -0
  173. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_faemd.py +0 -0
  174. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_faemd2d.py +0 -0
  175. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_faemd3d.py +0 -0
  176. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_fmd.py +0 -0
  177. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_gdmd.py +0 -0
  178. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_hvd.py +0 -0
  179. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_itd.py +0 -0
  180. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_ivgnmd.py +0 -0
  181. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_jmd.py +0 -0
  182. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_lmd.py +0 -0
  183. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_moving_decomp.py +0 -0
  184. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_mstl.py +0 -0
  185. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_osd.py +0 -0
  186. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_ovmd.py +0 -0
  187. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_rlmd.py +0 -0
  188. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_semd.py +0 -0
  189. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_sjmd.py +0 -0
  190. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_ssa.py +0 -0
  191. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_stl.py +0 -0
  192. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_stnbmd.py +0 -0
  193. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_stvmd.py +0 -0
  194. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_svmd.py +0 -0
  195. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_swd.py +0 -0
  196. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_vgnmd.py +0 -0
  197. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_vmd.py +0 -0
  198. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_vmd2d.py +0 -0
  199. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tests/test_vncmd.py +0 -0
  200. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tsa/__init__.py +0 -0
  201. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tsa/_dtw.py +0 -0
  202. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tsa/_moving_decomp.py +0 -0
  203. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tsa/_mstl.py +0 -0
  204. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/tsa/_stl.py +0 -0
  205. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/__init__.py +0 -0
  206. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_correlation.py +0 -0
  207. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_diagnalization.py +0 -0
  208. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_differ.py +0 -0
  209. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_fft.py +0 -0
  210. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_function.py +0 -0
  211. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_hilbert.py +0 -0
  212. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_instantaneous.py +0 -0
  213. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_kernel_matrix.py +0 -0
  214. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_mirror.py +0 -0
  215. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_process.py +0 -0
  216. {pysdkit-0.4.49 → pysdkit-0.4.51}/pysdkit/utils/_smooth1d.py +0 -0
  217. {pysdkit-0.4.49 → pysdkit-0.4.51}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySDKit
3
- Version: 0.4.49
3
+ Version: 0.4.51
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>
@@ -153,14 +153,12 @@ plot_IMFs(signal, IMFs) # per-channel panels
153
153
  | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
154
154
  | [`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) | ✔️ |
155
155
  | [`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) | ✔️ |
156
- | [`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) | ✔️ |
157
156
  | [`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) | ✔️ |
158
157
  | [`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
158
  | [`EMD2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/emd2d.py) (Empirical Mode Decomposition 2D for images) | [[paper]](http://aquador.vovve.net/IEMD/) | [[code]](http://aquador.vovve.net/IEMD/) | ✔️ |
160
159
  | [`BMEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bmemd.py) (Bidimensional Multivariate Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8805082) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/72343-bidimensional-multivariate-empirical-mode-decomposition?s_tid=FX_rc1_behav) | ✔️ |
161
160
  | [`CEEMDAN`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/ceemdan.py) (Complete Ensemble EMD with Adaptive Noise) | [[paper]](https://ieeexplore.ieee.org/document/5947265) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✔️ |
162
161
  | [`TVF_EMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/tvf_emd.py) (Time Varying Filter Based EMD) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168417301135) | [[code]](https://github.com/stfbnc/pytvfemd/tree/master) | ✔️ |
163
- | [`EFD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/efd.py) (Empirical Fourier Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327021005355) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/97747-empirical-fourier-decomposition-efd) | ✔️ |
164
162
  | [`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) | ✔️ |
165
163
  | [`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) | ✔️ |
166
164
  | [`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) | ✔️ |
@@ -174,6 +172,7 @@ plot_IMFs(signal, IMFs) # per-channel panels
174
172
  | [`FMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/fmd.py) (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✔️ |
175
173
  | [`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) | ✔️ |
176
174
  | [`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) | ✔️ |
175
+ | [`EFD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/efd.py) (Empirical Fourier Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327021005355) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/97747-empirical-fourier-decomposition-efd) | ✔️ |
177
176
  | [`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) | ✔️ |
178
177
  | [`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) | ✔️ |
179
178
  | [`MVMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vmd/mvmd.py) (Multivariate Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8890883) | [[code]](https://github.com/yunyueye/MVMD) | ✔️ |
@@ -198,7 +197,7 @@ plot_IMFs(signal, IMFs) # per-channel panels
198
197
  | [`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) | ✔️ |
199
198
  | [`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]]() | ✔️ |
200
199
  | [`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) | ✔️ |
201
- | [`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) | ✔️ |
200
+ | [`STNBMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vncmd/stnbmd.py) (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) | ✔️ |
202
201
  | [`VTFMTD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tfa/vftmtd.py) (Variational TF Mode Tracking Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168426001179) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/183389-variational-time-frequency-mode-tracking-decomposition) | ✔️ |
203
202
  | [`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) | ✔️ |
204
203
  | [`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) | ✔️ |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySDKit
3
- Version: 0.4.49
3
+ Version: 0.4.51
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>
@@ -153,14 +153,12 @@ plot_IMFs(signal, IMFs) # per-channel panels
153
153
  | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
154
154
  | [`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) | ✔️ |
155
155
  | [`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) | ✔️ |
156
- | [`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) | ✔️ |
157
156
  | [`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) | ✔️ |
158
157
  | [`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
158
  | [`EMD2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/emd2d.py) (Empirical Mode Decomposition 2D for images) | [[paper]](http://aquador.vovve.net/IEMD/) | [[code]](http://aquador.vovve.net/IEMD/) | ✔️ |
160
159
  | [`BMEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bmemd.py) (Bidimensional Multivariate Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8805082) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/72343-bidimensional-multivariate-empirical-mode-decomposition?s_tid=FX_rc1_behav) | ✔️ |
161
160
  | [`CEEMDAN`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/ceemdan.py) (Complete Ensemble EMD with Adaptive Noise) | [[paper]](https://ieeexplore.ieee.org/document/5947265) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✔️ |
162
161
  | [`TVF_EMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/tvf_emd.py) (Time Varying Filter Based EMD) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168417301135) | [[code]](https://github.com/stfbnc/pytvfemd/tree/master) | ✔️ |
163
- | [`EFD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/efd.py) (Empirical Fourier Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327021005355) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/97747-empirical-fourier-decomposition-efd) | ✔️ |
164
162
  | [`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) | ✔️ |
165
163
  | [`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) | ✔️ |
166
164
  | [`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) | ✔️ |
@@ -174,6 +172,7 @@ plot_IMFs(signal, IMFs) # per-channel panels
174
172
  | [`FMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/fmd.py) (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✔️ |
175
173
  | [`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) | ✔️ |
176
174
  | [`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) | ✔️ |
175
+ | [`EFD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/efd.py) (Empirical Fourier Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327021005355) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/97747-empirical-fourier-decomposition-efd) | ✔️ |
177
176
  | [`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) | ✔️ |
178
177
  | [`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) | ✔️ |
179
178
  | [`MVMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vmd/mvmd.py) (Multivariate Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8890883) | [[code]](https://github.com/yunyueye/MVMD) | ✔️ |
@@ -198,7 +197,7 @@ plot_IMFs(signal, IMFs) # per-channel panels
198
197
  | [`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) | ✔️ |
199
198
  | [`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]]() | ✔️ |
200
199
  | [`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) | ✔️ |
201
- | [`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) | ✔️ |
200
+ | [`STNBMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vncmd/stnbmd.py) (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) | ✔️ |
202
201
  | [`VTFMTD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tfa/vftmtd.py) (Variational TF Mode Tracking Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168426001179) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/183389-variational-time-frequency-mode-tracking-decomposition) | ✔️ |
203
202
  | [`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) | ✔️ |
204
203
  | [`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) | ✔️ |
@@ -17,7 +17,6 @@ pysdkit/_emd/_prepare_points.py
17
17
  pysdkit/_emd/_splines.py
18
18
  pysdkit/_emd/ceemdan.py
19
19
  pysdkit/_emd/eemd.py
20
- pysdkit/_emd/efd.py
21
20
  pysdkit/_emd/emd.py
22
21
  pysdkit/_emd/esmd.py
23
22
  pysdkit/_emd/memd.py
@@ -28,10 +27,10 @@ pysdkit/_emd/hht/__init__.py
28
27
  pysdkit/_emd/hht/frequency.py
29
28
  pysdkit/_emd/hht/hht.py
30
29
  pysdkit/_emd2d/__init__.py
31
- pysdkit/_emd2d/bemd.py
32
30
  pysdkit/_emd2d/bmemd.py
33
31
  pysdkit/_emd2d/emd2d.py
34
32
  pysdkit/_ewt/__init__.py
33
+ pysdkit/_ewt/efd.py
35
34
  pysdkit/_ewt/ewt.py
36
35
  pysdkit/_ewt/ewt2d.py
37
36
  pysdkit/_faemd/__init__.py
@@ -48,8 +47,6 @@ pysdkit/_gdmd/vgnmd.py
48
47
  pysdkit/_imd/__init__.py
49
48
  pysdkit/_imd/apmd.py
50
49
  pysdkit/_imd/imd.py
51
- pysdkit/_imd/data/gearbox_fault_snippet.npy
52
- pysdkit/_imd/data/input_sig.npy
53
50
  pysdkit/_jmd/__init__.py
54
51
  pysdkit/_jmd/jmd.py
55
52
  pysdkit/_jmd/mjmd.py
@@ -63,10 +60,6 @@ pysdkit/_osd/osd.py
63
60
  pysdkit/_osd/swd.py
64
61
  pysdkit/_tfa/__init__.py
65
62
  pysdkit/_tfa/vtfmtd.py
66
- pysdkit/_tfa/data/__init__.py
67
- pysdkit/_tfa/data/dual_signal_noise.npy
68
- pysdkit/_tfa/data/map2.npy
69
- pysdkit/_tfa/data/single_nsignal.npy
70
63
  pysdkit/_tid/__init__.py
71
64
  pysdkit/_tid/alif.py
72
65
  pysdkit/_tid/fmd.py
@@ -74,12 +67,10 @@ pysdkit/_tid/hvd.py
74
67
  pysdkit/_tid/itd.py
75
68
  pysdkit/_tid/iterative_filtering.py
76
69
  pysdkit/_tid/ssa.py
77
- pysdkit/_tid/data/__init__.py
78
- pysdkit/_tid/data/prefixed_double_filter.npy
79
70
  pysdkit/_vmd/__init__.py
80
- pysdkit/_vmd/avmd.py
81
71
  pysdkit/_vmd/base.py
82
72
  pysdkit/_vmd/mvmd.py
73
+ pysdkit/_vmd/na_mvmd.py
83
74
  pysdkit/_vmd/namvmd.py
84
75
  pysdkit/_vmd/ovmd.py
85
76
  pysdkit/_vmd/stvmd.py
@@ -97,13 +88,26 @@ pysdkit/_vncmd/stnbmd.py
97
88
  pysdkit/_vncmd/vncmd.py
98
89
  pysdkit/data/__init__.py
99
90
  pysdkit/data/_add_noise.py
91
+ pysdkit/data/_assets.py
100
92
  pysdkit/data/_cube.py
101
93
  pysdkit/data/_generator.py
102
94
  pysdkit/data/_image.py
95
+ pysdkit/data/_loaders.py
103
96
  pysdkit/data/_models.py
104
97
  pysdkit/data/_test_univariate.py
105
98
  pysdkit/data/_time_series.py
99
+ pysdkit/data/dual_signal_noise.npy
100
+ pysdkit/data/ecg_055m.npy
106
101
  pysdkit/data/fmd_demo.npy
102
+ pysdkit/data/gearbox_fault_snippet.npy
103
+ pysdkit/data/input_sig.npy
104
+ pysdkit/data/map2.npy
105
+ pysdkit/data/memd_syn_12channel.npy
106
+ pysdkit/data/memd_syn_16channel.npy
107
+ pysdkit/data/memd_syn_hex.npy
108
+ pysdkit/data/memd_taichi_hex.npy
109
+ pysdkit/data/prefixed_double_filter.npy
110
+ pysdkit/data/single_nsignal.npy
107
111
  pysdkit/data/texture.txt
108
112
  pysdkit/data/vmd_example.npy
109
113
  pysdkit/entropy/__init__.py
@@ -134,7 +138,9 @@ pysdkit/tests/test_ceemdan.py
134
138
  pysdkit/tests/test_cvmd2d.py
135
139
  pysdkit/tests/test_ddacmd.py
136
140
  pysdkit/tests/test_eemd.py
141
+ pysdkit/tests/test_efd.py
137
142
  pysdkit/tests/test_emd.py
143
+ pysdkit/tests/test_emd2d.py
138
144
  pysdkit/tests/test_esmd.py
139
145
  pysdkit/tests/test_ewt.py
140
146
  pysdkit/tests/test_ewt2d.py
@@ -143,16 +149,20 @@ pysdkit/tests/test_faemd2d.py
143
149
  pysdkit/tests/test_faemd3d.py
144
150
  pysdkit/tests/test_fmd.py
145
151
  pysdkit/tests/test_gdmd.py
152
+ pysdkit/tests/test_hht.py
146
153
  pysdkit/tests/test_hvd.py
147
154
  pysdkit/tests/test_imd.py
148
155
  pysdkit/tests/test_itd.py
149
156
  pysdkit/tests/test_ivgnmd.py
150
157
  pysdkit/tests/test_jmd.py
151
158
  pysdkit/tests/test_lmd.py
159
+ pysdkit/tests/test_memd.py
152
160
  pysdkit/tests/test_moving_decomp.py
153
161
  pysdkit/tests/test_mstl.py
162
+ pysdkit/tests/test_mvmd.py
154
163
  pysdkit/tests/test_osd.py
155
164
  pysdkit/tests/test_ovmd.py
165
+ pysdkit/tests/test_remd.py
156
166
  pysdkit/tests/test_rlmd.py
157
167
  pysdkit/tests/test_semd.py
158
168
  pysdkit/tests/test_sjmd.py
@@ -162,9 +172,11 @@ pysdkit/tests/test_stnbmd.py
162
172
  pysdkit/tests/test_stvmd.py
163
173
  pysdkit/tests/test_svmd.py
164
174
  pysdkit/tests/test_swd.py
175
+ pysdkit/tests/test_tvfemd.py
165
176
  pysdkit/tests/test_vgnmd.py
166
177
  pysdkit/tests/test_vmd.py
167
178
  pysdkit/tests/test_vmd2d.py
179
+ pysdkit/tests/test_vme.py
168
180
  pysdkit/tests/test_vncmd.py
169
181
  pysdkit/tests/test_vtfmtd.py
170
182
  pysdkit/tests/data/__init__.py
@@ -100,14 +100,12 @@ plot_IMFs(signal, IMFs) # per-channel panels
100
100
  | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :---: |
101
101
  | [`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) | ✔️ |
102
102
  | [`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) | ✔️ |
103
- | [`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) | ✔️ |
104
103
  | [`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) | ✔️ |
105
104
  | [`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
105
  | [`EMD2D`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/emd2d.py) (Empirical Mode Decomposition 2D for images) | [[paper]](http://aquador.vovve.net/IEMD/) | [[code]](http://aquador.vovve.net/IEMD/) | ✔️ |
107
106
  | [`BMEMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd2d/bmemd.py) (Bidimensional Multivariate Empirical Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8805082) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/72343-bidimensional-multivariate-empirical-mode-decomposition?s_tid=FX_rc1_behav) | ✔️ |
108
107
  | [`CEEMDAN`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/ceemdan.py) (Complete Ensemble EMD with Adaptive Noise) | [[paper]](https://ieeexplore.ieee.org/document/5947265) | [[code]](https://github.com/laszukdawid/PyEMD/blob/master/PyEMD/EEMD.py) | ✔️ |
109
108
  | [`TVF_EMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/tvf_emd.py) (Time Varying Filter Based EMD) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168417301135) | [[code]](https://github.com/stfbnc/pytvfemd/tree/master) | ✔️ |
110
- | [`EFD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_emd/efd.py) (Empirical Fourier Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327021005355) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/97747-empirical-fourier-decomposition-efd) | ✔️ |
111
109
  | [`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) | ✔️ |
112
110
  | [`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) | ✔️ |
113
111
  | [`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) | ✔️ |
@@ -121,6 +119,7 @@ plot_IMFs(signal, IMFs) # per-channel panels
121
119
  | [`FMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tid/fmd.py) (Feature Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/9732251) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/108099-feature-mode-decomposition-fmd) | ✔️ |
122
120
  | [`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) | ✔️ |
123
121
  | [`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) | ✔️ |
122
+ | [`EFD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_ewt/efd.py) (Empirical Fourier Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/abs/pii/S0888327021005355) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/97747-empirical-fourier-decomposition-efd) | ✔️ |
124
123
  | [`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) | ✔️ |
125
124
  | [`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) | ✔️ |
126
125
  | [`MVMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vmd/mvmd.py) (Multivariate Variational Mode Decomposition) | [[paper]](https://ieeexplore.ieee.org/document/8890883) | [[code]](https://github.com/yunyueye/MVMD) | ✔️ |
@@ -145,7 +144,7 @@ plot_IMFs(signal, IMFs) # per-channel panels
145
144
  | [`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) | ✔️ |
146
145
  | [`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]]() | ✔️ |
147
146
  | [`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) | ✔️ |
148
- | [`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) | ✔️ |
147
+ | [`STNBMD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_vncmd/stnbmd.py) (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) | ✔️ |
149
148
  | [`VTFMTD`](https://github.com/wwhenxuan/PySDKit/blob/main/pysdkit/_tfa/vftmtd.py) (Variational TF Mode Tracking Decomposition) | [[paper]](https://www.sciencedirect.com/science/article/pii/S0165168426001179) | [[code]](https://www.mathworks.com/matlabcentral/fileexchange/183389-variational-time-frequency-mode-tracking-decomposition) | ✔️ |
150
149
  | [`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) | ✔️ |
151
150
  | [`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) | ✔️ |
@@ -67,11 +67,4 @@ where = ["."]
67
67
  include = ["pysdkit*"]
68
68
 
69
69
  [tool.setuptools.package-data]
70
- "*" = ["*.txt", "*.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"]
76
- "pysdkit._tfa" = ["data/*.npy"]
77
- "pysdkit._tfa.data" = ["*.npy"]
70
+ "pysdkit.data" = ["*.npy", "*.txt"]
@@ -2,7 +2,7 @@
2
2
  A Python library for signal decomposition algorithms.
3
3
  """
4
4
 
5
- __version__ = "0.4.49"
5
+ __version__ = "0.4.51"
6
6
 
7
7
  # Empirical Mode Decomposition
8
8
  from ._emd import EMD
@@ -25,9 +25,6 @@ from ._emd import SEMD
25
25
  # Time Varying Filter based Empirical Mode Decomposition
26
26
  from ._emd import TVF_EMD
27
27
 
28
- # Empirical Fourier Decomposition
29
- from ._emd import EFD
30
-
31
28
  # Fast and Adaptive Empirical Mode Decomposition
32
29
  from ._faemd import FAEMD, FAEMD2D, FAEMD3D
33
30
 
@@ -89,7 +86,7 @@ from ._acmd import DD_ACMD
89
86
  from ._vmd import MVMD
90
87
 
91
88
  # Variational Mode Extraction, to extract a specific mode from the signal
92
- from ._vmd import VME
89
+ from ._vmd import VME, vme
93
90
 
94
91
  # Orthogonalized Variational Mode Decomposition
95
92
  from ._vmd import OVMD
@@ -130,6 +127,9 @@ from ._imd import APMD, IMD, imd
130
127
  # Empirical Wavelet Transform
131
128
  from ._ewt import ewt, EWT
132
129
 
130
+ # Empirical Fourier Decomposition (spectrum segmentation + ideal filter bank)
131
+ from ._ewt import efd, EFD
132
+
133
133
  # Empirical Wavelet Transform for 2D Images
134
134
  from ._ewt import ewt2d, EWT2D
135
135
 
@@ -188,7 +188,6 @@ Robust Empirical Mode Decomposition | REMD
188
188
  Multivariate Empirical Mode Decomposition | MEMD
189
189
  Serial Empirical Mode Decomposition | SEMD
190
190
  Time Varying Filter based EMD | TVF_EMD
191
- Empirical Fourier Decomposition | EFD
192
191
  Fast and Adaptive Empirical Mode Decomposition | FAEMD
193
192
  Bidimensional FAEMD | FAEMD2D
194
193
  Tridimensional FAEMD | FAEMD3D
@@ -223,6 +222,7 @@ Variational TF Mode Tracking Decomposition | VTFMTD
223
222
  Adaptive Polymorphic Mode Decomposition | APMD
224
223
  Impulsive Mode Decomposition | IMD
225
224
  Empirical Wavelet Transform | EWT
225
+ Empirical Fourier Decomposition | EFD
226
226
  Empirical Wavelet Transform for 2D Image | EWT2D
227
227
  Jump Plus AM-FM Mode Decomposition | JMD
228
228
  Multivariate Jump Plus AM-FM Mode Decomposition | MJMD
@@ -245,7 +245,6 @@ __all__ = [
245
245
  "MEMD",
246
246
  "SEMD",
247
247
  "TVF_EMD",
248
- "EFD",
249
248
  "FAEMD",
250
249
  "FAEMD2D",
251
250
  "FAEMD3D",
@@ -278,6 +277,7 @@ __all__ = [
278
277
  "DD_ACMD",
279
278
  "MVMD",
280
279
  "VME",
280
+ "vme",
281
281
  "OVMD",
282
282
  "svmd",
283
283
  "SVMD",
@@ -298,6 +298,8 @@ __all__ = [
298
298
  "imd",
299
299
  "ewt",
300
300
  "EWT",
301
+ "efd",
302
+ "EFD",
301
303
  "ewt2d",
302
304
  "EWT2D",
303
305
  "JMD",
@@ -146,7 +146,7 @@ def stft(
146
146
  win_len = int(np.ceil(win_len / 2.0) * 2)
147
147
  t_win = np.linspace(-1.0, 1.0, win_len)
148
148
  sigma = 0.28
149
- win_fun = (np.pi * sigma**2) ** (-0.25) * np.exp((- (t_win**2)) / (2.0 * sigma**2))
149
+ win_fun = (np.pi * sigma**2) ** (-0.25) * np.exp((-(t_win**2)) / (2.0 * sigma**2))
150
150
  lh = (win_len - 1) / 2.0
151
151
 
152
152
  spec = np.zeros((n_fft, sig_len), dtype=complex)
@@ -199,9 +199,9 @@ def _spsolve_safe(a, b: np.ndarray) -> np.ndarray:
199
199
  """Sparse solve with dense lstsq fallback (MATLAB ``\\`` robustness)."""
200
200
  x = spsolve(a, b)
201
201
  if not np.all(np.isfinite(x)):
202
- x = np.linalg.lstsq(a.toarray(), np.asarray(b, dtype=float).ravel(), rcond=None)[
203
- 0
204
- ]
202
+ x = np.linalg.lstsq(
203
+ a.toarray(), np.asarray(b, dtype=float).ravel(), rcond=None
204
+ )[0]
205
205
  return np.asarray(x, dtype=float).ravel()
206
206
 
207
207
 
@@ -275,9 +275,7 @@ class ACMD(Base):
275
275
  return peak_fre * np.ones(N, dtype=float)
276
276
 
277
277
  @staticmethod
278
- def differ(
279
- y: np.ndarray, delta: float, dtype: np.dtype = np.float64
280
- ) -> np.ndarray:
278
+ def differ(y: np.ndarray, delta: float, dtype: np.dtype = np.float64) -> np.ndarray:
281
279
  """Instance-accessible wrapper around module-level ``differ``."""
282
280
  out = differ(y, delta)
283
281
  return np.asarray(out, dtype=dtype)
@@ -81,9 +81,7 @@ def gini_squared_envelope(signal: np.ndarray) -> float:
81
81
  return float(1.0 - 2.0 * temp / (np.linalg.norm(se, 1) + np.finfo(float).eps))
82
82
 
83
83
 
84
- def extract_if_ia(
85
- y: np.ndarray, fs: float
86
- ) -> Tuple[np.ndarray, np.ndarray]:
84
+ def extract_if_ia(y: np.ndarray, fs: float) -> Tuple[np.ndarray, np.ndarray]:
87
85
  """
88
86
  Instantaneous frequency / amplitude via padded analytic signal
89
87
  (MATLAB ``IFIAextrc``).
@@ -190,15 +188,11 @@ def coef_overcomplete_fourier(
190
188
  if (j + 1) > half:
191
189
  k = (j + 1) - half
192
190
  tmatrix_inte[:, j] = (
193
- -1.0
194
- / (2.0 * np.pi * f0 * k)
195
- * np.cos(2.0 * np.pi * f0 * k * dt)
191
+ -1.0 / (2.0 * np.pi * f0 * k) * np.cos(2.0 * np.pi * f0 * k * dt)
196
192
  )
197
193
 
198
194
  eye_m = np.eye(order_amp)
199
- coeff = np.linalg.solve(
200
- alpha * eye_m + tmatrix.T @ tmatrix, tmatrix.T @ f
201
- )
195
+ coeff = np.linalg.solve(alpha * eye_m + tmatrix.T @ tmatrix, tmatrix.T @ f)
202
196
  fitf = tmatrix @ coeff
203
197
  finte = tmatrix_inte @ coeff
204
198
  return fitf, finte
@@ -232,9 +226,7 @@ def spectrum_trend_generate(
232
226
 
233
227
  # Local minima of the spectrum trend
234
228
  minima, _ = find_peaks(-spec_trend)
235
- temp_index = np.concatenate(
236
- ([0], minima.astype(int), [freq_bin.size - 1])
237
- )
229
+ temp_index = np.concatenate(([0], minima.astype(int), [freq_bin.size - 1]))
238
230
 
239
231
  temp_frn = temp_index[:-1]
240
232
  temp_end = temp_index[1:]
@@ -107,9 +107,7 @@ def phase_arccos(g: np.ndarray) -> np.ndarray:
107
107
  return theta
108
108
 
109
109
 
110
- def low_filter(
111
- sig: np.ndarray, cut_freq: float, samp_freq: float
112
- ) -> np.ndarray:
110
+ def low_filter(sig: np.ndarray, cut_freq: float, samp_freq: float) -> np.ndarray:
113
111
  """
114
112
  Linear-phase FIR low-pass with delay compensation (MATLAB ``low_filter``).
115
113
 
@@ -283,13 +281,19 @@ def generate_nonstationary_demo(
283
281
  """MATLAB Test (noisy non-stationary) mixture."""
284
282
  t = np.arange(0.0, duration, 1.0 / fs)
285
283
  a1 = 1.0 + 0.3 * np.cos(2.0 * np.pi * t)
286
- sig1 = a1 * np.cos(2.0 * np.pi * (8 * t**3 + 16 * t**2 + 80 * t) + np.sin(10 * np.pi * t))
284
+ sig1 = a1 * np.cos(
285
+ 2.0 * np.pi * (8 * t**3 + 16 * t**2 + 80 * t) + np.sin(10 * np.pi * t)
286
+ )
287
287
  if1 = 24 * t**2 + 32 * t + 80 + 5 * np.cos(10 * np.pi * t)
288
288
  a2 = 1.0 + 0.3 * np.cos(2.0 * np.pi * t + np.pi / 4)
289
- sig2 = a2 * np.cos(2.0 * np.pi * (6 * t**3 + 12 * t**2 + 60 * t) + np.sin(10 * np.pi * t))
289
+ sig2 = a2 * np.cos(
290
+ 2.0 * np.pi * (6 * t**3 + 12 * t**2 + 60 * t) + np.sin(10 * np.pi * t)
291
+ )
290
292
  if2 = 18 * t**2 + 24 * t + 60 + 5 * np.cos(10 * np.pi * t)
291
293
  a3 = 1.0 + 0.3 * np.cos(2.0 * np.pi * t + np.pi / 2)
292
- sig3 = a3 * np.cos(2.0 * np.pi * (4 * t**3 + 8 * t**2 + 40 * t) + np.sin(10 * np.pi * t))
294
+ sig3 = a3 * np.cos(
295
+ 2.0 * np.pi * (4 * t**3 + 8 * t**2 + 40 * t) + np.sin(10 * np.pi * t)
296
+ )
293
297
  if3 = 12 * t**2 + 16 * t + 40 + 5 * np.cos(10 * np.pi * t)
294
298
  clean = sig1 + sig2 + sig3
295
299
  noisy = clean + add_noise(clean.size, 0.0, noise_std, rng=rng)
@@ -318,7 +322,11 @@ def generate_close_modes_demo(
318
322
  sig3 = np.exp(-0.3 * t) * np.cos(2.0 * np.pi * (-60 * t**3 + 180 * t**2 + 80 * t))
319
323
  if3 = -180 * t**2 + 360 * t + 80
320
324
  clean = sig1 + sig2 + sig3
321
- noisy = clean + add_noise(clean.size, 0.0, noise_std, rng=rng) if noise_std > 0 else clean.copy()
325
+ noisy = (
326
+ clean + add_noise(clean.size, 0.0, noise_std, rng=rng)
327
+ if noise_std > 0
328
+ else clean.copy()
329
+ )
322
330
  return {
323
331
  "t": t,
324
332
  "fs": fs,
@@ -21,8 +21,6 @@ from .memd import MEMD
21
21
 
22
22
  from .tvf_emd import TVF_EMD
23
23
 
24
- from .efd import EFD
25
-
26
24
  from .hht import HHT
27
25
 
28
26
  from .semd import SEMD, concatenate_signals, deconcatenate_imfs, transition_bridge
@@ -13,6 +13,8 @@ from typing import Dict, List, Optional, Tuple, Union
13
13
  import numpy as np
14
14
  from scipy.interpolate import CubicSpline, interp1d
15
15
 
16
+ from pysdkit.data._loaders import load_wind_demo
17
+
16
18
 
17
19
  def find_extrema(x: np.ndarray) -> Tuple[np.ndarray, np.ndarray]:
18
20
  """
@@ -438,19 +440,6 @@ def make_esmd_example3(
438
440
  }
439
441
 
440
442
 
441
- def load_wind_demo(path: str) -> Dict[str, np.ndarray]:
442
- """
443
- Load a wind-demo CSV/TXT file (column 0 = wind series, ``dt=0.05`` s).
444
-
445
- :param path: path to a comma-separated file whose first column is the series
446
- """
447
- data = np.loadtxt(path, delimiter=",")
448
- y = data[:, 0]
449
- dt = 0.05
450
- t = np.arange(y.size, dtype=float) * dt
451
- return {"t": t, "signal": y, "dt": dt}
452
-
453
-
454
443
  class ESMD(object):
455
444
  """
456
445
  Extreme-Point Symmetric Mode Decomposition (ESMD).
@@ -70,9 +70,9 @@ class HHT(object):
70
70
  elif self.algorithm == "REMD":
71
71
  return REMD(max_imfs=self.max_imfs)
72
72
  elif self.algorithm == "EEMD":
73
- return EEMD(self.max_imfs)
73
+ return EEMD(max_imfs=self.max_imfs)
74
74
  elif self.algorithm == "CEEMDAN":
75
- return CEEMDAN(self.max_imfs)
75
+ return CEEMDAN(max_imfs=self.max_imfs)
76
76
  else:
77
77
  raise ValueError("algorithm must be EMD, REMD, EEMD or CEEMDAN!")
78
78