Documentation

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}
Was this topic helpful?