1 function w = cplxdual3D(x, J, Faf, af)
3 % 3D Complex Dual-Tree Discrete Wavelet Transform
6 % w = cplxdual3D(x, J, Faf, af)
10 % Faf - first stage filters
11 % af - filters for remaining stages
13 % w{j}{m}{n}{p}{d} - wavelet coefficients
14 % j = 1..J, m = 1..2, n = 1..2, p = 1..2, d = 1..7
15 % w{J+1}{m}{n}{d} - lowpass coefficients
16 % m = 1..2, n = 1..2, p = 1..2, d = 1..7
20 % [Faf, Fsf] = FSfarras;
21 % [af, sf] = dualfilt1;
22 % w = cplxdual3D(x, J, Faf, af);
23 % y = icplxdual3D(w, J, Fsf, sf);
25 % max(max(max(abs(err))))
27 % WAVELET SOFTWARE AT POLYTECHNIC UNIVERSITY, BROOKLYN, NY
28 % http://taco.poly.edu/WaveletSoftware/
36 [lo w{1}{m}{n}{p}] = afb3D(x, Faf{m}, Faf{n}, Faf{p});
38 [lo w{j}{m}{n}{p}] = afb3D(lo, af{m}, af{n}, af{p});
47 [w{j}{1}{1}{1}{m} w{j}{2}{2}{1}{m} w{j}{2}{1}{2}{m} w{j}{1}{2}{2}{m}] = ...
48 pm4(w{j}{1}{1}{1}{m}, w{j}{2}{2}{1}{m}, w{j}{2}{1}{2}{m}, w{j}{1}{2}{2}{m});
49 [w{j}{2}{2}{2}{m} w{j}{1}{1}{2}{m} w{j}{1}{2}{1}{m} w{j}{2}{1}{1}{m}] = ...
50 pm4(w{j}{2}{2}{2}{m}, w{j}{1}{1}{2}{m}, w{j}{1}{2}{1}{m}, w{j}{2}{1}{1}{m});