Spectrum-based decomposition of a 2D input signal into k band-separated modes. Here, we propose an entirely non-recursive variational mode decomposition model, where the modes are extracted concurrently. The model looks for an ensemble of modes and their respective center frequencies, such that the modes collectively reproduce the (2D) input signal, while each being smooth after demodulation into baseband. The variational model is efficiently optimized using an alternating direction method of multipliers approach.
This is a generalization of 1D VMD:
See: K. Dragomiretskiy and D. Zosso, Variational Mode Decomposition, IEEE Trans. Signal Processing 62(3):531-544, 2014. http://dx.doi.org/10.1109/TSP.2013.2288675
K. Dragomiretskiy and D. Zosso, Two-Dimensional Variational Mode Decomposition, IEEE Int. Conf. Image Proc. 2014, (submitted). Preprint: ftp://ftp.math.ucla.edu/pub/camreport/cam14-16.pdf
Dominique Zosso (2020). Two-dimensional Variational Mode Decomposition (https://www.mathworks.com/matlabcentral/fileexchange/45918-two-dimensional-variational-mode-decomposition), MATLAB Central File Exchange. Retrieved .
Hi anyone, can someone guide me in how to use the vmd code on image? no matter how many time I tried, it fail.
Small glitch in the visualization part of the test file:
Where the evolution of the center frequencies is traced, the plot-line should read as follows:
plot( size(f,2)*(0.5+omega(:,1,k)), size(f,1)*(0.5+omega(:,2,k)), colors(k) );
(size(f,1) and size(f,2) need to be swapped).
This does not affect the decomposition itself, however.
Fixed the visualization bug described in comments.
Fixed a wrong "division by 2" in the computation of the Hilbert-frequency mask.
Inspired by: Variational Mode Decomposition