WaveThresh Help

putD.wd


Puts a whole resolution level of mother wavelet coeffients into wd wavelet object.

DESCRIPTION

Makes a copy of the wd object, replaces some mother wavelet coefficients data in the copy, and then returns the copy.

USAGE

putD.wd(wdobj, level, v, boundary=F, index=F)

REQUIRED ARGUMENTS

wdobj
Wavelet decomposition object into which you wish to insert the mother wavelet coefficients.
level
the resolution level at which you wish to replace the mother wavelet coefficients.
v
the replacement data, this should be of the correct length.

OPTIONAL ARGUMENTS

boundary
If boundary is F then only "real" data is replaced. If boundary is T then the boundary (bookeeping) elements are replaced as well. Information about the lengths of the vectors can be found in the first.last database function and Nason and Silverman, 1994.
index
If index is T then the index numbers into the 1D array where the coefficient insertion would take place are returned. If index is F (default) then the modified wavelet decomposition object is returned.

VALUE

A wd class object containing the modified mother wavelet coefficients.

DETAILS

The function accessD obtains the mother wavelet coefficients for a particular level. The function putD.wd replaces mother wavelet coefficients at a particular resolution level and returns a modified wd object reflecting the change.

The need for this function is a consequence of the pyramidal structure of Mallat's algorithm and the memory efficiency gain achieved by storing the pyramid as a linear vector. PutD.wd obtains information about where the smoothed data appears from the fl.dbase component of an wd object, in particular the array

fl.dbase$first.last.d
which gives a complete specification of index numbers and offsets for
wd.object$D.

Note that this function is method for the generic function putD. When the wd object is definitely a wd class object then you only need use the generic version of this function.

Note also that this function only puts information into wd class objects. To extract coefficients from a wd object you have to use the accessD function (or more precisely, the accessD.wd method).

RELEASE

Version 3.5.3 Copyright Guy Nason 1994

SEE ALSO

putD, wd object, wd, accessD, putC, first.last,

EXAMPLES

#
# Generate an EMPTY wd object:
#
> zero <- rep(0, 16)
> zerowd <- wd(zero)
#
# Put some random mother wavelet coefficients into the object at
# resolution level 2. For the decimated wavelet transform there
# are always 2^i coefficients at resolution level i. So we have to
# insert 4 coefficients
#
> mod.zerowd <- putD( zerowd, level=2, v=rnorm(4))
#
# If you plot mod.zerowd you will see that there are only 
# coefficients at resolution level 2 where you just put the coefficients.
#
# Now, for a time-ordered non-decimated wavelet transform object the
# procedure is exactly the same EXCEPT that there are going to be
# 16 coefficients at each resolution level. I.e.
#
# Create empty TIME-ORDERED NON-DECIMATED wavelet transform object
#
> zerowdS <- wd(zero, type="station")
#
# Now insert 16 random coefficients at resolution level 2
#
> mod.zerowdS <- putD(zerowdS, level=2, v=rnorm(16))
#
# Once more if you plot mod.zerowdS then there will only be
# coefficients at resolution level 2.