R: Performs inverse DWT reconstruction step

conbar {wavethresh} | R Documentation

## Performs inverse DWT reconstruction step

### Description

Wrapper to the C function `conbar` which is the main function in WaveThresh to do filter convolution/reconstruction with data. Although users use the `wr` function to perform a complete inverse discrete wavelet transform (DWT) this function repeatedly uses the `conbar` routine, once for each level to reconstruct the next finest level. The C `conbar` routine is possibly the most frequently utilized by WaveThresh.

### Usage

    conbar(c.in, d.in, filter)

### Arguments

`c.in` | The father wavelet coefficients that you wish to reconstruct in this level's convolution.
`d.in` | The mother wavelet coefficients that you wish to reconstruct in this level's convolution.
`filter` | A given filter that you wish to use in the level reconstruction. This should be the output from the `filter.select` function.

### Details

The `wr` function performs the inverse wavelet transform on an `wd.object` class object.

Internally, the `wr` function uses the C `conbar` function. Other functions also make use of `conbar` and some R functions also would benefit from using the fast C code of the `conbar` reconstruction hence this WaveThresh function. Some of the other functions that use conbar are listed in the SEE ALSO section. Many other functions call C code that then uses the C version of `conbar`.

### Value

A vector containing the reconstructed coefficients.

### Author(s)

G P Nason

### See Also

`av.basis` `InvBasis.wp` `wr`

### Examples

    #
    # Let's generate some test data, just some 32 normal variates.
    #
    v <- rnorm(32)
    #
    # Now take the wavelet transform with default filter arguments (which
    # are filter.number=10, family="DaubLeAsymm")
    #
    vwd <- wd(v)
    #
    # Now, let's take an arbitrary level, say 2, and reconstruct level 3
    # scaling function coefficients
    #
    c.in <- accessC(vwd, lev=2)
    d.in <- accessD(vwd, lev=2)
    #
    conbar(c.in, d.in, filter.select(filter.number=10, family="DaubLeAsymm"))
    #[1] -0.50368115  0.04738620 -0.90331807  1.08497622  0.90490528  0.06252717
    #[7]  2.55894899 -1.26067508
    #
    # Ok, this was the pure reconstruction from using only level 2 information.
    #
    # Let's check this against the "original" level 3 coefficients (which get
    # stored on the decomposition step in wd)
    #
    accessC(vwd, lev=3)
    #[1] -0.50368115  0.04738620 -0.90331807  1.08497622  0.90490528  0.06252717
    #[7]  2.55894899 -1.26067508
    #
    # Yep, the same numbers!
    #

[Package wavethresh version 4.6.8 Index]