Learn R Programming

wavethresh (version 4.7.3)

plot.wst: Plot packet-ordered non-decimated wavelet transform coefficients.

Description

This function plots packet-ordered non-decimated wavelet transform coefficients arising from a wst.object object.

Usage

# S3 method for wst
plot(x, main = "Nondecimated Wavelet (Packet) Decomposition", 
    sub, first.level = 5, scaling = "compensated", dotted.turn.on = 5, 
    aspect = "Identity", ...)

Value

Nothing

Arguments

x

The wst object whose coefficients you wish to plot.

main

The main title of the plot.

sub

A subtitle for the plot.

first.level

The first resolution level to begin plotting at. This argument can be quite useful when you want to suppress some of the coarser levels in the diagram.

scaling

How you want the coefficients to be scaled. The options are: global - one scale factor is chosen for the whole plot. The scale factor depends on the coefficient to be included on the plot that has the largest absolute value. The global option is useful when comparing coefficients that might appear anywhere in the plot; by.level - a scale factor is chosen for each resolution level in the plot. The scale factor for a level depends on the coefficient in that level that has the largest absolute value. The by.level option is useful when you wish to compare coefficients within a resolution level. The other option is compensated which is the same as global except for that finer scales' coefficients are scaled up by a factor of SQRT(2)

I don't know why compensated is the default option? It is a bit silly.

dotted.turn.on

The plot usually includes some dotted vertical bars that separate wavelet packets to make it clearer which packets are which. This option controls the coarsest resolution level at which dotted lines appear. All levels equal to and finer than this level will receive the vertical dotted lines.

aspect

A transform to apply to the coefficients before plotting. If the coefficients are complex-valued and aspect="Identity" then the modulus of the coefficients are plotted.

...

Other arguments to plot

Author

G P Nason

Details

A packet-ordered non-decimated wavelet object contains coefficients of a signal (usually obtained by the wst packet-ordered non-decimated wavelet transform, but also functions that derive such objects, such as threshold.wst).

A packet-ordered nondecimated wavelet object, x, possesses nlevelsWT(x) resolution levels. In WaveThresh the coarsest level is level 0 and the finest is level nlevelsWT-1. For packet-ordered nondecimated wavelet the number of blocks (packets) at level j is 2^(nlevelsWT-j).

This function plots the coefficients. At the bottom of the plot the original input function (if present) is plotted. Then levels above the original plot successively coarser wavelet coefficients. Each packet of coefficients is plotted within dotted vertical lines. At the finest level there are two packets: one (the left one) correspond to the wavelet coefficients that would be obtained using the (standard) decimated wavelet transform function, wd, and the other packet are those coefficients that would have been obtained using the standard decimated wavelet transform after a unit cyclic shift.

For coarser levels there are more packets corresponding to different cyclic shifts (although the computation is not performed using shifting operations the effect is the same). For full details see Nason and Silverman, 1995.

Packets are drawn on the plot and can be separated by vertical dotted lines. The resolution levels at which this happens can be controlled by the dotted.turn.on option. The coarsest resolution level to be drawn is controlled by the first.level option.

It should be noted that the packets referred to here are just the blocks of nondecimated wavelet coefficients in a packet-ordering. These are different to wavelet packets (produced by wp) and nondecimated wavelet packets (produced by wpst)

See Also

MaNoVe,threshold.wst, wst, wst.object

Examples

Run this code
#
# Generate some test data
#
v <- DJ.EX()$heavi
#
# Let's plot these to see what they look like
#
if (FALSE) plot(v, type="l")
#
# Do a packet-ordered non-decimated wavelet packet transform
#
vwst <- wst(v)
#
# Now plot the coefficients
#
if (FALSE) plot(vwst)
#
# Note that the "original" function is at the bottom of the plot.
# The finest scale coefficients (two packets) are immediately above.
# Increasingly coarser scale coefficients are above that!
#

Run the code above in your browser using DataLab