can anyone tell what windowfilt and "w" is doing in this program?
Show older comments
function y = dtdwt(x)
windowsize = 7;
windowfilt = ones(1,windowsize)/windowsize;
% Number of Stages
J = 6;
I=sqrt(-1);
L = length(x);
N = L+2^J;
x = symextend(x,2^(J-1));
load nor_dualtree
[Faf, Fsf] = AntonB;
[af, sf] = dualfilt1;
W = dual2D(x, J, Faf, af);
W = normcoef(W,J,nor);
% Noise variance estimation using robust median estimator..
tmp = W{1}{1}{1}{1};
Nsig = median(abs(tmp(:)))/0.6745;
for scale = 1:J-1
for dir = 1:2
for dir1 = 1:3
Y_coef_real = W{scale}{1}{dir}{dir1};
Y_coef_imag = W{scale}{2}{dir}{dir1};
Y_parent_real = W{scale+1}{1}{dir}{dir1};
Y_parent_imag = W{scale+1}{2}{dir}{dir1};
Y_parent_real = expand(Y_parent_real);
Y_parent_imag = expand(Y_parent_imag);
Wsig = conv2(windowfilt,windowfilt,(Y_coef_real).^2,'same');
Ssig = sqrt(max(Wsig-Nsig.^2,eps));
% Threshold value estimation
T = sqrt(3)*Nsig^2./Ssig;
% Bivariate Shrinkage
Y_coef = Y_coef_real+I*Y_coef_imag;
Y_parent = Y_parent_real + I*Y_parent_imag;
Y_coef = bishrink(Y_coef,Y_parent,T);
W{scale}{1}{dir}{dir1} = real(Y_coef);
W{scale}{2}{dir}{dir1} = imag(Y_coef);
end
end
end
% Inverse Transform
W = unnormcoef(W,J,nor);
y = idual2D(W, J, Fsf, sf);
% Extract the image ind = 2^(J-1)+1:2^(J-1)+L; y = y(ind,ind);
1 Comment
Damo Daran
on 14 Mar 2013
Accepted Answer
More Answers (0)
Categories
Find more on Spectral Measurements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!