## Documentation Center |

On this page… |
---|

The 2-D continuous wavelet transform (CWT) app enables you to
analyze your image data and export the results of that analysis to
the MATLAB^{®} workspace. The app provides all the functionality
of the command line functions `cwtft2` and `cwtftinfo2`. Access the 2-D CWT app in
the apps gallery by selecting **Wavelet Design & Analysis** in
the **Signal Processing and Communications** section
or entering

cwtfttool2

at the MATLAB command prompt.

The 2-D continuous wavelet transform is a representation of
2-D data (image data) in 4 variables: dilation, rotation, and position.
Dilation and rotation are real-valued scalars and position is a 2-D
vector with real-valued elements. Let *x* denote
a two-element vector of real-numbers. If

is square-integrable on the plane, the 2-D CWT is defined as

where the bar denotes the complex conjugate and *r _{θ}* is
the 2-D rotation matrix

The 2-D CWT is a space-scale representation of an image. You can view the inverse of the scale and the rotation angle taken together as a spatial-frequency variable, which gives the 2-D CWT an interpretation as a space-frequency representation. For all admissible 2-D wavelets, the 2-D CWT acts as a local filter for an image in scale and position. If the wavelet is isotropic, there is no dependence on angle in the analysis. The Mexican hat wavelet is an example of an isotropic wavelet. Isotropic wavelets are suitable for pointwise analysis of images. If the wavelet is anisotropic, there is a dependence on angle in the analysis, and the 2-D CWT acts a local filter for an image in scale, position, and angle. The Cauchy wavelet is an example of an anisotropic wavelet. In the Fourier domain, this means that the spatial frequency support of the wavelet is a convex cone with the apex at the origin. Anisotropic wavelets are suitable for detecting directional features in an image. See Two-Dimensional CWT of Noisy Pattern for an illustration of the difference between isotropic and anisotropic wavelets.

This example shows how to analyze an image using the 2-D CWT app.

Load the triangle image in the MATLAB workspace.

`imdata = imread('triangle.jpg');`

Launch the 2-D CWT app by selecting **Wavelet
Design & Analysis** in the **Signal Processing
and Communications** section of the apps gallery. From the **Two-Dimensional** section,
select **Continuous Wavelet Transform 2-D**. Alternatively,
enter

cwtfttool2

at the MATLAB command prompt.

Select **File –> Importdata** to
import the `imdata` variable.

From the `Wavelet` drop down
menu, select the **cauchy** wavelet.

For the **Angles** and **Scales**,
select the **Manual** option.

Click **Define** to specify a vector
of angles. Select **Manual** from the `Type` drop-down
list and specify a vector of angles from 0 to `7*pi/8` radians
in increments of `pi/8` radians, `0:pi/8:(7*pi)/8`.
Click **Apply** to apply your choice of angles.

Click **Define** to specify a vector
of scales from 0.5 to 4 in increments of 0.5. Select **Linear** from
the `Type` drop-down list. Set **First
Scale** equal to 0.5, **Gap between two scales** equal
to 0.5, and **Number of Scales** equal to 8. Equivalently,
you can select **Manual** from the `Type` drop-down
list and specify the vector of scales as `0.5:0.5:4`.
Click **Apply** to apply your choice of scales.

Click **Analyze** to obtain the 2-D CWT.

Set the `Index of Scale` to be
1 and click **More on Angles**. Click **Movie** to
step through the manually-defined angles for the 2-D CWT coefficients
at scale 0.5.

Select **File –> Export Data –>
Export CWTFT Struct to Workspace** to export the analysis
to the MATLAB workspace. You can find an explanation of the structure
fields in the function reference for `cwtft2`.

Was this topic helpful?