Accelerating the pace of engineering and science

# Documentation Center

• Trial Software
• Product Updates

# dwt3

Single-level discrete 3-D wavelet transform

## Syntax

WT = dwt3(X,'wname')
WT = dwt3(X,'wname','mode','ExtM')
WT = dwt3(X,W,...)
WT = dwt3(X,WF,...)

## Description

dwt3 performs a single-level three-dimensional wavelet decomposition using either a particular wavelet ('wname') or the wavelet decomposition and reconstruction filters you specify. The decomposition also uses the specified DWT extension mode (see dwtmode).

WT = dwt3(X,'wname') returns the 3-D wavelet transform of the 3-D array X. 'wname' is a string containing the wavelet name. The default extension mode is 'sym'. For more information on wname, see wfilters.

WT = dwt3(X,'wname','mode','ExtM') uses the extension mode 'ExtM'.

WT is a structure with the following fields shown in the table.

 sizeINI Size of the three-dimensional array X. mode Name of the wavelet transform extension mode. filters Structure with four fields: LoD, HiD, LoR, HiR, which are the filters used for DWT. dec 2 x 2 x 2 cell array containing the coefficients of the decomposition.dec{i,j,k}, i,j,k = 1 or 2 contains the coefficients obtained by low-pass filtering (for i or j or k = 1) or high-pass filtering (for i or j or k = 2)

WT = dwt3(X,W,...) specify three wavelets, one for each direction. W = {'wname1','wname2','wname3'} or W is a structure with 3 fields 'w1', 'w2', 'w3' containing strings that are the names of wavelets.

WT = dwt3(X,WF,...) specify four filters, two for decomposition, and two for reconstructionm or 3 x 4 filters (one quadruplet by direction). WF is either a cell array (1 x 4) or (3 x 4) : {LoD,HiD,LoR,HiR} or a structure with the four fields 'LoD','HiD','LoR','HiR'.

## Examples

```% Define the original 3-D data.
X = reshape(1:64,4,4,4)

X(:,:,1) =

1     5     9    13
2     6    10    14
3     7    11    15
4     8    12    16

X(:,:,2) =

17    21    25    29
18    22    26    30
19    23    27    31
20    24    28    32

X(:,:,3) =

33    37    41    45
34    38    42    46
35    39    43    47
36    40    44    48

X(:,:,4) =

49    53    57    61
50    54    58    62
51    55    59    63
52    56    60    64

% Perform single level decomposition of X using db1.
wt = dwt3(X,'db1')

wt =

sizeINI: [4 4 4]
filters: [1x1 struct]
mode: 'sym'
dec: {2x2x2 cell}

% Decompose X using db2.
[LoD,HiD,LoR,HiR] = wfilters('db2');
wt = dwt3(X,{LoD,HiD,LoR,HiR})

wt =

sizeINI: [4 4 4]
filters: [1x1 struct]
mode: 'sym'
dec: {2x2x2 cell}

% Decompose X using different wavelets, one for
% each orientation (db1, db2 and again db1).
WS = struct('w1','db1','w2','db2','w3','db1');
wt = dwt3(X,WS,'mode','per')

wt =

sizeINI: [4 4 4]
filters: [1x1 struct]
mode: 'per'
dec: {2x2x2 cell}

WF = wt.filters;

% Decompose X using the filters given by WF and
% set the extension mode to symmetric.
wtBIS = dwt3(X,WF,'mode','sym')

wtBIS =

sizeINI: [4 4 4]
filters: [1x1 struct]
mode: 'sym'
dec: {2x2x2 cell}
```

## See Also

Was this topic helpful?