Single-level discrete 3-D wavelet transform
Define the original 3-D data.
X = reshape(1:64,4,4,4)
X = 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 = struct with fields:
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 = struct with fields:
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 = struct with fields:
sizeINI: [4 4 4]
filters: [1x1 struct]
mode: 'per'
dec: {2x2x2 cell}
Decompose X
using the filters given by WF
and set the extension mode to symmetric.
WF = wt.filters; wtBIS = dwt3(X,WF,'mode','sym')
wtBIS = struct with fields:
sizeINI: [4 4 4]
filters: [1x1 struct]
mode: 'sym'
dec: {2x2x2 cell}
x
— Input dataInput data, specified as a 3-D array.
Data Types: double
wname
— Analyzing waveletAnalyzing wavelet used to compute the 2-D DWT, specified as a character
vector or string scalar. The analyzing wavelet is from one of the following
wavelet families: Daubechies, Coiflets, Symlets, Fejér-Korovkin, Discrete
Meyer, Biorthogonal, and Reverse Biorthogonal. See wfilters
for the wavelets
available in each family.
w
— Analyzing waveletsAnalyzing wavelets to use in the 3-D wavelet decomposition, one for each
direction, specified as a cell array of character vectors, a string array,
or a structure. w = {'wname1','wname2','wname3'}
, or
w = ["wname1","wname2","wname3"]
, or
w
is a structure with 3 fields
'w1'
, 'w2'
,
'w3'
containing character vectors or string scalars
that are the names of wavelets.
Example: wt =
dwt3(x,["db2","db4","db6"]);
wf
— Wavelet filtersWavelet filters to use in the 3-D wavelet decomposition, specified as
either a cell array or structure. wf
specifies four
filters, two for decomposition and two for reconstruction, or 3 × 4
filters (one quadruplet by direction). wf
is either a
cell array (1 × 4) or (3 × 4) :
{LoD,HiD,LoR,HiR}
or a structure with the four fields
'LoD','HiD','LoR','HiR'
.
extM
— Extension mode'zpd'
| 'sp0'
| 'spd'
| ...Extension mode used when performing the 3-D DWT, specified as one of the following:
mode | DWT Extension Mode |
---|---|
'zpd' | Zero extension |
'sp0' | Smooth extension of order 0 |
'spd' (or
'sp1' ) | Smooth extension of order 1 |
'sym' or
'symh' | Symmetric extension (half point): boundary value symmetric replication |
'symw' | Symmetric extension (whole point): boundary value symmetric replication |
'asym' or
'asymh' | Antisymmetric extension (half point): boundary value antisymmetric replication |
'asymw' | Antisymmetric extension (whole point): boundary value antisymmetric replication |
'ppd' | Periodized extension (1) |
'per' | Periodized extension (2) If the
signal length is odd, |
The global variable managed by dwtmode
specifies the
default extension mode.
wt
— Single-level 3-D wavelet decompositionSingle-level 3-D wavelet decomposition, returned as a structure with the following fields:
sizeINI | Size of the three-dimensional array
|
mode | Name of the wavelet transform extension mode. |
filters | Structure with four fields:
|
dec | 2 × 2 × 2 cell array containing the coefficients of the decomposition.
The
|
You have a modified version of this example. Do you want to open this example with your edits?