| Group: | Mathematical Functions |
| Topic: | Fourier and Wavelet transforms |
| See also: | invfwt2 fwt invfwt dwt invdwt fwtin fwtinshift |
| Function: | fwt2 | |
| Description: | fwt2 is designed for 2-dimensional wavelet transformation. It corresponds mainly to dwt for the one-dimensional case. If needed it can work with the tensor product of one dimensional wavelet transforms. |
| Usage: | c = fwt2 (x, l, h, a) | |
| Input: | ||
| x | n x n matrix, input data where n has to be a power of 2 | |
| l | integer, l^2 is the number of the father wavelet coefficients | |
| h | m x 1 vector, wavelet basis | |
| a | integer, 0,1,2,3,... see notes | |
| Output: | ||
| c | n x n matrix, resulting coefficients | |
To get vectors of the wavelet basis, the library wavelet has to be loaded: h can be either daubechies2,4,6,8,10,12,14,16,18,20, symmlet4 to 10 or coiflet1 to 5.
; loads the wavelet library
library("wavelet")
; initializes random generator
randomize(0)
; generates some data(line from top left to bottom right)
n = 16
i = 1:n
xo =(i.=i')
x = xo+0.2.*normal(n,n)
; computes bivariate wavelet coefficients
c = fwt2(x, 4, daubechies4, 0);
; hard threshold
c = c.*(abs(c).>0.3)
; applies inverse transformation
y = invfwt2(c, 4, daubechies4, 0)
; compares orginal picture with thresholded picture
max(max(abs(y-xo),2))
Content of max [1,] 0.48421