You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f6dd902
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: examples/demo.py
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -199,6 +199,7 @@
199
199
#
200
200
# Dragomiretskiy & Zosso extend VMD to 2D: each mode is compact around an unknown center frequency :math:`\boldsymbol{\omega}_k\in\mathbb{R}^2`, which suits textures and directional oscillations. Below we use ``test_grayscale()`` (paper-style synthetic texture) and ``test_univariate_image`` for a quick demo; full experiments live in ``examples/image/vmd2d.py``.
Copy file name to clipboardExpand all lines: examples/emd/emd.py
+26-21Lines changed: 26 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -12,16 +12,16 @@
12
12
13
13
This notebook walks through the **complete sifting pipeline** with visualizations at every stage:
14
14
15
-
#. Motivation and IMF definition
16
-
#. Algorithm overview (paper flow diagram)
17
-
#. Demo signal
18
-
#. Extremum detection
19
-
#. Upper / lower envelope construction
20
-
#. Local mean (low-frequency trend)
21
-
#. One sifting step: subtract the mean
22
-
#. Multiple sifting iterations until an IMF
23
-
#. Full EMD with PySDKit
24
-
#. Completeness and reconstruction
15
+
#. Motivation and IMF definition
16
+
#. Algorithm overview (paper flow diagram)
17
+
#. Demo signal
18
+
#. Extremum detection
19
+
#. Upper / lower envelope construction
20
+
#. Local mean (low-frequency trend)
21
+
#. One sifting step: subtract the mean
22
+
#. Multiple sifting iterations until an IMF
23
+
#. Full EMD with PySDKit
24
+
#. Completeness and reconstruction
25
25
#. Summary
26
26
"""
27
27
@@ -39,7 +39,7 @@
39
39
#
40
40
# An IMF :math:`x_n(t)` must satisfy (Zeiler et al. / Huang et al.):
41
41
#
42
-
# #. **Extremum–zero-crossing balance**: between two successive zero crossings there is only one extremum — equivalently, the numbers of local maxima and minima differ by at most one.
42
+
# #. **Extremum–zero-crossing balance**: between two successive zero crossings there is only one extremum — equivalently, the numbers of local maxima and minima differ by at most one.
43
43
# #. **Zero local mean**: the mean of the upper and lower envelopes is (approximately) zero.
44
44
#
45
45
# An IMF may still have **amplitude and frequency modulation**; the zero-mean condition makes subsequent Hilbert analysis physically meaningful.
@@ -59,23 +59,23 @@
59
59
#
60
60
# Paper §II / Fig. 1. To extract the :math:`n`-th IMF from the current residue :math:`r_{n-1}(t)`:
# (Some texts misprint this as a difference; the physically correct trend estimate is the **average** of the envelopes.)
71
+
# (Some texts misprint this as a difference; the physically correct trend estimate is the **average** of the envelopes.)
72
72
# #. **Sift**:
73
73
#
74
74
# .. math::
75
75
#
76
76
# h_k(t)=h_{k-1}(t)-m_{k-1}(t).
77
77
#
78
-
# #. If :math:`h_k` is not yet an IMF, set :math:`k\leftarrow k+1` and repeat from step 1; otherwise set :math:`x_n:=h_k` and :math:`r_n:=r_{n-1}-x_n`.
78
+
# #. If :math:`h_k` is not yet an IMF, set :math:`k\leftarrow k+1` and repeat from step 1; otherwise set :math:`x_n:=h_k` and :math:`r_n:=r_{n-1}-x_n`.
79
79
# #. Stop when :math:`r_n` is a monotonic / low-variation residuum; otherwise continue with :math:`n\leftarrow n+1`.
80
80
#
81
81
# The next cells implement and visualize steps 1–5 explicitly before calling the full PySDKit ``EMD`` class.
0 commit comments