cwtft2
2-D continuous wavelet transform
Description
uses
additional options specified by one or more Name,Value pair arguments.cwtstruct
= cwtft2(x
,Name,Value
)
Examples
Compare Isotropic and Anisotropic Wavelets
Shows how an isotropic wavelet does not discern the orientation of features while an anisotropic wavelet does. The example uses the Mexican hat isotropic wavelet and the directional (anisotropic) Cauchy wavelet.
Load and view the hexagon image.
Im = imread('hexagon.jpg');
imagesc(Im); colormap(jet);
Obtain the scale-one 2-D CWT with both the Mexican hat and Cauchy wavelets. Specify a vector of angles going from 0 to 15?/8 in ?/8 increments.
cwtcauchy = cwtft2(Im,'wavelet','cauchy','scales',1,... 'angles',0:pi/8:2*pi-pi/8); cwtmexh = cwtft2(Im,'wavelet','mexh','scales',1,... 'angles',0:pi/8:2*pi-pi/8);
Visualize the scale-one 2-D CWT coefficient magnitudes at each angle.
angz = {'0', 'pi/8', 'pi/4', '3pi/8', 'pi/2', '5pi/8', '3pi/4', ... '7pi/8','pi', '9pi/8', '5pi/4', '11pi/8', '3pi/2', ... '13pi/8' '7pi/4', '15pi/8'}; for angn = 1:length(angz) subplot(211) imagesc(abs(cwtmexh.cfs(:,:,1,1,angn))); title(['Mexican hat at ' angz(angn) 'radians']); subplot(212) imagesc(abs(cwtcauchy.cfs(:,:,1,1,angn))); title(['Cauchy wavelet at ' angz(angn) 'radians']); pause(1); end
Plot 2-D CWT
Load an image of a woman, obtain the 2-D CWT using the Morlet wavelet, and plot the CWT coefficients.
load woman; cwtmorl = cwtft2(X,'scales',1:4,'angles',0:pi/2:3*pi/2,'plot');
2-D CWT with Morlet Wavelet
Obtain the 2-D CWT of the star image using the default Morlet wavelet, scales 2^(0:5)
, and an angle of 0.
Im = imread('star.jpg');
cwtout = cwtft2(Im);
Input Arguments
x
— Input data
array
Input data, specified as a 2-D matrix or 3-D array. If the input data is a 3-D array, the input matrix is a truecolor image.
Example: X = imread('stars.jpg');
Data Types: double
| uint8
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: 'wavelet','paul','scales',2^(0:5)
specifies
to use the Paul wavelet and a vector of scales.
angles
— Angles
0 (default) | scalar | vector
Angles in radians, specified as a comma-separated pair consisting
of 'angles'
and either a scalar or a vector.
Example: 'angles',[0 pi/2 pi]
norm
— Normalization
'L2'
(default) | 'L1'
| 'L0'
Normalization used in the 2-D CWT, specified as a comma-separated
pair consisting of 'norm'
and one of these character
vectors:
'L2'
— The Fourier transform of the analyzing wavelet at a given scale is multiplied by the corresponding scale.'L2'
is the default normalization.'L1'
— The Fourier transform of the analyzing wavelet is multiplied by 1 at all scales.'L0'
— The Fourier transform of the analyzing wavelet at a given scale is multiplied by the square of the corresponding scale.
Example: 'norm','L1'
scales
— Scales
2^(0:5)
(default) | scalar | vector
Scales, specified as a comma-separated pair consisting of 'scales'
and
either a positive real-valued scalar or a vector of positive real
numbers.
Example: 'scales',2^(1:6)
wavelet
— Analyzing wavelet
'morl'
(default) | character vector | string scalar | structure | cell array
Analyzing wavelet, specified as a comma-separated pair consisting of
'wavelet'
and a character vector, a string
scalar, a structure, or a cell array. cwtftinfo2
provides a
comprehensive list of supported wavelets and associated
parameters.
If you specify 'wavelet'
as a structure,
the structure must contain two fields:
name
— the character vector or string scalar corresponding to a supported wavelet.param
— a cell array with the parameters of the wavelet.
If you specify 'wavelet'
as a cell array, wav
,
the cell array must contain two elements:
wav{1}
— the character vector or string scalar corresponding to a supported wavelet.wav{2}
— a cell array with the parameters of the wavelet.
Example: 'wavelet',{'morl',{6,1,1}}
Example: 'wavelet',struct('name','paul','param',{'p',2})
Output Arguments
cwtstruct
— 2-D CWT
structure
The 2-D CWT, returned as a structure with the following fields:
wav
— Analyzing wavelet and parameters
structure
Analyzing wavelet and parameters, returned as a structure with the following fields:
wname
— nameparam
— parameters
wav_norm
— Normalization constants
matrix
Normalization constants, returned as a M-by-N matrix where M is the number of scales and N is the number of angles.
cfs
— CWT coefficients
array
CWT coefficients, returned as an N-D array. The row and column dimensions of the array equal the row and column dimensions of the input data. The third page of the array is equal to 1 or 3 depending on whether the input data is a grayscale or truecolor image. The fourth page of the array is equal to the number of scales and the fifth page of the array is equal to the number of angles.
scales
— Scales
vector
Scales for the 2-D CWT, returned as a row vector.
angles
— Angles
vector
Angles for the 2-D CWT, returned as a row vector.
meanSIG
— Mean
scalar
Mean of the input data, returned as a scalar
Version History
Introduced in R2013b
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)