Two-Dimensional Compact Variational Mode Decomposition (2D-TV-VMD)
Spatially Compact and Spectrally Sparse Image Decomposition and Segmentation
Decomposing multidimensional signals, such as images, into spatially compact, potentially overlapping modes of essentially wavelike nature makes these components accessible for further downstream analysis. This decomposition enables space-frequency analysis, demodulation, estimation of local orientation, edge and corner detection, texture analysis, denoising, inpainting, or curvature estimation. Our model decomposes the input signal into modes with narrow Fourier bandwidth; to cope with sharp region boundaries, incompatible with narrow bandwidth, we introduce binary support functions that act as masks on the narrow-band mode for image recomposition. L1 and TV terms promote sparsity and spatial compactness. Constraining the support functions to partitions of the signal domain, we effectively get an image segmentation model based on spectral homogeneity. By coupling several submodes together with a single support function, we are able to decompose an image into several crystal grains. Our efficient algorithm is based on variable splitting and alternate direction optimization; we employ Merriman-Bence-Osher-like threshold dynamics to handle efficiently the motion by mean curvature of the support function boundaries under the sparsity promoting terms. The versatility and effectiveness of our proposed model is demonstrated on a broad variety of example images from different modalities. These demonstrations include the decomposition of images into overlapping modes with smooth or sharp boundaries, segmentation of images of crystal grains, and inpainting of damaged image regions through artifact detection.
 D. Zosso, K. Dragomiretskiy, A.L. Bertozzi, P.S. Weiss, Two-Dimensional Compact Variational Mode Decomposition, Journal of Mathematical Imaging and Vision, 58(2):294–320, 2017. DOI:10.1007/s10851-017-0710-z
 K. Dragomiretskiy, D. Zosso, Variational Mode Decomposition, IEEE Trans. on Signal Processing, 62(3):531-544, 2014. DOI:10.1109/TSP.2013.2288675
 K. Dragomiretskiy, D. Zosso, Two-Dimensional Variational Mode Decomposition, EMMCVPR 2015, Hong Kong, LNCS 8932:197-208, 2015. DOI:10.1007/978-3-319-14612-6_15
Dominique Zosso (2020). Two-Dimensional Compact Variational Mode Decomposition (2D-TV-VMD) (https://www.mathworks.com/matlabcentral/fileexchange/67285-two-dimensional-compact-variational-mode-decomposition-2d-tv-vmd), MATLAB Central File Exchange. Retrieved .
Hi，anyone, I have got one problem while using this code in my segy data, how to fix it ? Thanks!
The array dimensions of the binary array operation must match.
error VMD_2D_TV (line 252)
DF = (signal - sum(A.*sum(v,4),3));
error VMD_2D_TV_seismic (line 140)
[u, v, omega, A, X] = VMD_2D_TV(signal, alpha, beta, gamma, delta2, rho, rho_k, tau, tau_k, t, K, DC, init, u_tol, omega_tol, A_tol, N, M, aphase );