WaveThresh Help

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

AvBasis.wst2D(wst2D)

REQUIRED 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.

OPTIONAL ARGUMENTS

None

VALUE

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

SIDE EFFECTS

None

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 example, 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 example, 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.

RELEASE

Version 3.9 Copyright Guy Nason 1998

SEE ALSO

wst2D, wst2D object.

EXAMPLES

#
# 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.
#