WaveThresh Help

putC.wd


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

DESCRIPTION

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

USAGE

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

REQUIRED ARGUMENTS

wdobj
Wavelet decomposition object into which you wish to insert the father wavelet coefficients.
level
the resolution level at which you wish to replace the father 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 father wavelet coefficients.

DETAILS

The function accessC obtains the father wavelet coefficients for a particular level. The function putC.wd replaces father 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. PutC.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.c
which gives a complete specification of index numbers and offsets for
wd.object$C.

Note that this function is method for the generic function putC. 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 accessC function (or more precisely, the accessC.wd method).

RELEASE

Version 3.5.3 Copyright Guy Nason 1994

SEE ALSO

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

EXAMPLES

#
# Generate an EMPTY wd object:
#
> zero <- rep(0, 16)
> zerowd <- wd(zero)
#
# Put some random father 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 <- putC( zerowd, level=2, v=rnorm(4))
#
# If you use accessC on mod.zerowd you would see that there were 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 <- putC(zerowdS, level=2, v=rnorm(16))
#
# Once more if you use accessC on mod.zerowdS you will see that there are
# only coefficients at resolution level 2.