putD.wd {wavethresh} | R Documentation |
Makes a copy of the wd
object, replaces some mother wavelet coefficients data in the copy, and then returns the copy.
## S3 method for class 'wd' putD(wd, level, v, boundary=FALSE, index=FALSE, ...)
wd |
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. |
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 |
The function accessD
obtains the mother wavelet coefficients for a particular level. The function putD.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. 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).
A wd
class object containing the modified mother wavelet coefficients.
Version 3.5.3 Copyright Guy Nason 1994
G P Nason
putD
, wd.object
, wd
, accessD
,putD
, first.last
,
# # 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 <- 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.