I'm working on a Matlab project which uses 2D wavelet transform. I am working on a Wavelet Transformation Modulus Maxima method (WTMM). I work with the Matlab wavelet toolbox. I have some questions about wavelets and WTMM method : - I use the 2D discrete wavelet transformation (dwt2 and wavedec2 too) but I don't really understand the role of the dwt2 outputs Approximation/Vertical/Horizontal/Diagonal. I saw they were the result of low pass and high pass filters (https://www.clear.rice.edu/elec301/Projects02/artSpy/dwt.html), but which ouput should I use to find local maximas on the image ?
[A,H,V,D] = dwt2(X,'wname')
I also use multifractal formalism in my project. In order to plot the scale function, I have to plot firstly the partition function (according to this article http://www.scholarpedia.org/article/Wavelet-based_multifractal_analysis, in the "WTMM method" part). However I don't know how to plot correctly this; here my code :
[A,H,D,V] = dwt2(im,'haar'); im_max = imregionalmax(abs(A)); % Modulus Maxima of the wavelet Transform, using the Approximation wavelet figure, imshow(im_max); %% Partition Function Z Z = 0; % Initialization of the partition function for q = -5:5 Z = Z + abs(im_max).^q ;% Definition of the partition function. %Certainly wrong, I think q can't be the variable for the loop and % im_max is not the correct input in abs. end a = 2; % scale factor. It is supposed to vary, I put it to 2 just for % tests tau = log(z)/log(a); % scaling function, in function of q according to % the article plot(tau,q);
Thanks in advance for your help