R: Puts a whole resolution level of mother wavelet coeffients...

putD.wd {wavethresh} | R Documentation

## 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

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

### Arguments

`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

### Details

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

### Value

A `wd` class object containing the modified mother wavelet coefficients.

### RELEASE

Version 3.5.3 Copyright Guy Nason 1994

### Author(s)

G P Nason

### See Also

`putD`, `wd.object`, `wd`, `accessD`,`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 <- 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.

[Package wavethresh version 4.6.8 Index]