Learn R Programming

wavethresh (version 4.7.3)

AvBasis.wst2D: Perform basis averaging for (packet-ordered) 2D non-decimated wavelet transform.

Description

Perform basis averaging for (packet-ordered) 2D non-decimated wavelet transform.

Usage

# S3 method for wst2D
AvBasis(wst2D, ...)

Value

A square matrix of dimension $2^nlevelsWT$ containing the average-basis ``reconstruction'' of the wst2D object.

Arguments

wst2D

An object of class wst2D that contains coefficients of a packet ordered 2D non-decimated wavelet transform (e.g. produced by the wst2D function.

...

any other arguments

RELEASE

Version 3.9 Copyright Guy Nason 1998

Author

G P Nason

Details

The packet-ordered 2D non-decimated wavelet transform computed by wst2D computes the coefficients of an input matrix with respect to a library of all shifts of wavelet basis functions at all scales. Here "all shifts" means all integral shifts with respect to the finest scale coefficients with shifts in both the horizontal and vertical directions, and "all scales" means all dyadic scales from 0 (the coarsest) to J-1 (the finest) where 2^J = n where n is the dimension of the input matrix. As such the packet-ordered 2D non-decimated wavelet transform contains a library of all possible shifted wavelet bases.

Basis averaging. Rather than select a basis it is often useful to preserve information from all of the bases. For examples, in curve estimation, after thresholding, the coefficients are coefficients of an estimate of the truth with respect to all of the shifted basis functions. Rather than select one of them we can average over all estimates. This sometimes gives a better curve estimate and can, for examples, get rid of Gibbs effects. See Coifman and Donoho (1995) for more information on how to do curve estimation using the packet ordered non-decimated wavelet transform, thresholding and basis averaging. See Lang et al. (1995) for further details of surface/image estimation using the 2D non-decimated DWT.

See Also

wst2D, wst2D.object

Examples

Run this code
#
# Generate some test data
#
#test.data <- matrix(rnorm(16), 4,4)
#
# Now take the 2D packet ordered DWT 
#
#tdwst2D <- wst2D(test.data)
#
# Now "invert" it using basis averaging
#
#tdwstAB <- AvBasis(tdwst2D)
#
# Let's compare it to the original
#
#sum( (tdwstAB - test.data)^2)
#
# [1] 1.61215e-17
#
# Very small. They're essentially same.
#

Run the code above in your browser using DataLab