putC.wd {wavethresh} | R 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 |
index |
If index is |
... |
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.