Learn R Programming

wavethresh (version 4.7.3)

getpacket.wpst: Get packet of coefficients from a non-decimated wavelet packet object (wpst).

Description

This function extracts and returns a packet of coefficients from a non-decimated wavelet packet (wpst) object.

Usage

# S3 method for wpst
getpacket(wpst, level, index, ... )

Value

A vector containing the packet of non-decimated wavelet packet coefficients that you wished to extract.

Arguments

wpst

Non-decimated wavelet packet object from which you wish to extract the packet from.

level

The resolution level of the coefficients that you wish to extract. Can range from 0 to nlevelsWT(wpst). The coefficients at level nlevels are the data the created the wpst.object.

index

The index number within the resolution level of the packet of coefficients that you wish to extract. Index ranges from 0 to \((4^r)-1\) where r = nlevelsWT - level.

...

any other arguments

RELEASE

Version 3.9 Copyright Guy Nason 1998

Author

G P Nason

Details

The wpst transform produces a non-decimated wavelet packet object. This is a "cross" between a wavelet packet object and a non-decimated wavelet object. In other words the transform produces wavelet packet coefficients at every possible integer shift (unlike the ordinary wavelet packet transform which is aligned to a dyadic grid).

Each packet of coefficients is obtained by chaining together the effect of the two packet operators DG and DH: these are the high and low pass quadrature mirror filters of the Mallat pyramid algorithm scheme followed by both even and odd decimation. For a full description of this algorithm and how coefficients are stored within see Nason, Sapatinas and Sawczenko, 1998.

Note that this function extracts packets. If you want to obtain the wavelet packet coefficients for each shift you need to use the accessD.wpstfunction. This function extracts particular wavelet packet coefficients for a particular shift. In particular, this function returns a number of coefficients dependent on the scale level requested whereas accessD.wpst always returns a vector of coefficients of length equal to the input data that created the wpst.object initially.

See Also

accessD.wpst, wpst,

Examples

Run this code
#
# Create some random data
#
myrand <- rnorm(16)
#myrand
# [1]  0.19268626 -0.41737181 -0.30806613  0.07435407  0.99871757
# [6] -0.58935121 -1.38049759 -0.13346631  1.55555403 -1.60581265
#[11]  0.14353621  1.21277774  1.13762337 -1.08577934 -0.29745609
#[16]  0.50977512
#
# Do the non-decimated wavelet packet transform
#
myrwpst <- wpst(myrand)
#
# Let's access what is a level nlevelsWT(myrwpst)
#
getpacket(myrwpst, nlevelsWT(myrwpst), index=0)
# [1]  0.19268626 -0.41737181 -0.30806613  0.07435407  0.99871757
# [6] -0.58935121 -1.38049759 -0.13346631  1.55555403 -1.60581265
#[11]  0.14353621  1.21277774  1.13762337 -1.08577934 -0.29745609
#[16]  0.50977512
#
# I.e. the data that created the object.
#
# How about extracting the 3rd (last) packet at level 3?
#
getpacket(myrwpst, 3, index=3)
#[1] -2.660657144  0.688415755 -1.764060698  0.717267105 -0.206916242
#[6] -0.659983747  0.005836952 -0.196874007
#
# Of course, there are only 8 coefficients at this level.

Run the code above in your browser using DataLab