]> AND Private Git Repository - these_gilles.git/blob - THESE/codes/wave/allcode/idualtree2D.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
modif finale lnivs + keywords
[these_gilles.git] / THESE / codes / wave / allcode / idualtree2D.m
1 function y = idualtree2D(w, J, Fsf, sf)
2
3 % Inverse 2-D Dual-Tree Discrete Wavelet Transform
4
5 % USAGE:
6 %   y = idualtree2D(w, J, Fsf, sf)
7 % INPUT:
8 %   J - number of stages
9 %   Fsf - synthesis filters for final stage
10 %   sf -  synthesis filters for preceeding stages
11 % OUPUT:
12 %   y - output array
13 % See idualtree2D
14 %
15 % WAVELET SOFTWARE AT POLYTECHNIC UNIVERSITY, BROOKLYN, NY
16 % http://taco.poly.edu/WaveletSoftware/
17
18 % sum and difference
19 for k = 1:J
20     for m = 1:3
21         A = w{k}{1}{m};
22         B = w{k}{2}{m};
23         w{k}{1}{m} = (A+B)/sqrt(2);
24         w{k}{2}{m} = (A-B)/sqrt(2);
25     end
26 end
27
28 % Tree 1
29 y1 = w{J+1}{1};
30 for j = J:-1:2
31    y1 = sfb2D(y1, w{j}{1}, sf{1});
32 end
33 y1 = sfb2D(y1, w{1}{1}, Fsf{1});
34
35 % Tree 2
36 y2 = w{J+1}{2};
37 for j = J:-1:2
38    y2 = sfb2D(y2, w{j}{2}, sf{2});
39 end
40 y2 = sfb2D(y2, w{1}{2}, Fsf{2});
41
42 % normalization
43 y = (y1 + y2)/sqrt(2);
44