Singlelevel discrete 3D wavelet transform
WT = dwt3(X,
'wname'
)
WT = dwt3(X,'wname'
,'mode','ExtM'
)
WT = dwt3(X,W,...)
WT = dwt3(X,WF,...)
dwt3
performs a singlelevel
threedimensional 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,
returns
the 3D wavelet transform of the 3D array 'wname'
)X
'wname'
is
a character vector containing the wavelet name. The default extension
mode is 'sym'
. For more information on wname
,
see wfilters
.
WT = dwt3(X,
uses
the extension mode 'wname'
,'mode','ExtM'
)'ExtM'
.
WT
is a structure with the following fields
shown in the table.
sizeINI  Size of the threedimensional array 
mode  Name of the wavelet transform extension mode. 
filters  Structure with four fields: 
dec  2 x 2 x 2 cell array containing the coefficients of the decomposition.

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
character vectors 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'
.
% Define the original 3D 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}