Documentation Center

  • Trial Software
  • Product Updates

wavedec3

Multilevel 3-D wavelet decomposition

Syntax

WDEC = wavedec3(X,N,'wname')
WDEC = wavedec3(X,N,'wname','mode','ExtM')
WDEC = wavedec3(X,N,{LoD,HiD,LoR,HiR})

Description

wavedec3 is a three-dimensional wavelet analysis function.

WDEC = wavedec3(X,N,'wname') returns the wavelet decomposition of the 3-D array X at level N, using the wavelet named in string 'wname' or the particular wavelet filters you specify. It uses the default extension mode 'sym'. See dwtmode. N must be a positive integer.

WDEC = wavedec3(X,N,'wname','mode','ExtM') uses the specified DWT extension mode .

WDEC = wavedec3(X,N,{LoD,HiD,LoR,HiR}) uses the decomposition and reconstruction filters you specify in a cell array.

WDEC is the output decomposition structure, with the following fields:

sizeINI

Size of the three-dimensional array X

level

Level of the decomposition

mode

Name of the wavelet transform extension mode

filters

Structure with 4 fields, LoD, HiD, LoR, HiR, which contain the filters used for DWT.

dec

N x 1 cell array containing the coefficients of the decomposition. N is equal to 7*WDEC.level+1.

dec{1} contains the lowpass component (approximation) at the level of the decomposition. The approximation is equivalent to the filtering operations 'LLL'.

dec{k+2},...,dec{k+8} with k = 0,7,14,...,7*(WDEC.level-1) contain the 3-D wavelet coefficients for the multiresolution starting with the coarsest level when k=0.

For example, if WDEC.level=3, dec{2},...,dec{8} contain the wavelet coefficients for level 3 (k=0), dec{9},...,dec{15} contain the wavelet coefficients for level 2 (k=7), and dec{16},...,dec{22} contain the wavelet coefficients for level 1 (k=7*(WDEC.level-1)).

At each level, the wavelet coefficients in dec{k+2},...,dec{k+8} are in the following order: 'HLL','LHL','HHL','LLH','HLH','LHH','HHH'.

The strings give the order in which the separable filtering operations are applied from left to right. For example, 'LHH' means that the lowpass (scaling) filter with downsampling is applied to the rows of X, followed by the highpass (wavelet) filter with downsampling applied to the columns of X. Finally, the highpass filter with downsampling is applied to the 3rd dimension of X.

sizes

Successive sizes of the decomposition components

Examples

expand all

3-D Wavelet Transform

Find the 3-D DWT of a volume.

Construct 8-by-8-by-8 matrix. Obtain the 3-D discrete wavelet transform at level 1 using the Haar wavelet and the default whole-point symmetric extension mode.

% Matrix of integers 1:64
M = magic(8);
% Make data 3-D
X = repmat(M,[1 1 8]);
% Decompose X at level 1 using db1.
wd1 = wavedec3(X,1,'db1');

3-D Wavelet Transform Using Specified Decomposition and Reconstruction Filters

Specify the decomposition and reconstruction filters as a cell array.

Construct 8-by-8-by-8 matrix. Obtain the 3-D discrete wavelet transform down to level 2 using the Daubechies extremal phase wavelet with two vanishing moments. Input the decomposition and reconstruction filters as a cell array. Use the periodic extension mode.

% Matrix of integers 1:64
M = magic(8);
% Make data 3-D
X = repmat(M,[1 1 8]);
[LoD,HiD,LoR,HiR] = wfilters('db2');
wd2 = wavedec3(X,2,{LoD,HiD,LoR,HiR},'mode','per');

Coefficient Order in 3-D Wavelet Transform

Compare the output of wavedec3 and dwt3 to illustrate the ordering of the 3-D wavelet coefficients described in the dec field description.

X = reshape(1:512,8,8,8);
dwtOut = dwt3(X,'db1','mode','per');
wdec = wavedec3(X,1,'db1','mode','per');
max(abs((wdec.dec{4}(:)-dwtOut.dec{2,2,1}(:))))
max(abs((wdec.dec{5}(:)-dwtOut.dec{1,1,2}(:))))

See Also

| | | | |

Was this topic helpful?