R: Two-Dimensional Discrete Wavelet Transform

dwt.2d {waveslim} | R Documentation

## Two-Dimensional Discrete Wavelet Transform

### Description

Performs a separable two-dimensional discrete wavelet transform (DWT) on a matrix of dyadic dimensions.

### Usage

    dwt.2d(x, wf, J = 4, boundary = "periodic")
    idwt.2d(y)

### Arguments

`x` | input matrix (image)
`wf` | name of the wavelet filter to use in the decomposition
`J` | depth of the decomposition, must be a number less than or equal to log(min{M,N},2)
`boundary` | only `"periodic"` is currently implemented
`y` | an object of class `dwt.2d`

### Details

See references.

### Value

List structure containing the 3J+1 sub-matrices from the decomposition.

### Author(s)

B. Whitcher

### References

Mallat, S. (1998) A Wavelet Tour of Signal Processing, Academic Press.

Vetterli, M. and J. Kovacevic (1995) Wavelets and Subband Coding, Prentice Hall.

### See Also

`modwt.2d`.

### Examples

    ## Xbox image
    data(xbox)
    xbox.dwt <- dwt.2d(xbox, "haar", 3)
    par(mfrow=c(1,1), pty="s")
    plot.dwt.2d(xbox.dwt)
    par(mfrow=c(2,2), pty="s")
    image(1:dim(xbox)[1], 1:dim(xbox)[2], xbox, xlab="", ylab="",
          main="Original Image")
    image(1:dim(xbox)[1], 1:dim(xbox)[2], idwt.2d(xbox.dwt), xlab="", ylab="",
          main="Wavelet Reconstruction")
    image(1:dim(xbox)[1], 1:dim(xbox)[2], xbox - idwt.2d(xbox.dwt),
          xlab="", ylab="", main="Difference")

    ## Daubechies image
    data(dau)
    par(mfrow=c(1,1), pty="s")
    image(dau, col=rainbow(128))
    sum(dau^2)
    dau.dwt <- dwt.2d(dau, "d4", 3)
    plot.dwt.2d(dau.dwt)
    sum(plot.dwt.2d(dau.dwt, plot=FALSE)^2)

[Package waveslim version 1.8.2 Index]