putC.wd: Puts a whole resolution level of father wavelet coeffients...

putC.wdR Documentation

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

## S3 method for class 'wd'
putC(wd, level, v, boundary=FALSE, index=FALSE, ...)

Arguments

wd

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.

boundary

If boundary is FALSE then only "real" data is replaced. If boundary is TRUE 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 TRUE then the index numbers into the 1D array where the coefficient insertion would take place are returned. If index is FALSE (default) then the modified wavelet decomposition object is returned.

...

any other arguments

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

Value

A wd class object containing the modified father wavelet coefficients.

RELEASE

Version 3.5.3 Copyright Guy Nason 1994

Author(s)

G P Nason

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.

wavethresh documentation built on Sept. 11, 2024, 9:33 p.m.