The smoothed and original data from a multiple wavelet decomposition structure, mwd.object
ect (e.g. returned from mwd
) are packed into a single matrix in that structure. TRUE his function extracts the data corresponding to a particular resolution level.
# S3 method for mwd
accessC(mwd, level = nlevelsWT(mwd), ...)
A matrix with mwd$filter$npsi
rows containing the extracted data of all the coefficients at that level.
Multiple wavelet decomposition structure from which you wish to extract the smoothed or original data if the structure is from a wavelet decomposition, or the reconstructed data if the structure is from a wavelet reconstruction.
The level that you wish to extract. By default, this is the level with most detail (in the case of structures from a decomposition this is the original data, in the case of structures from a reconstruction this is the top-level reconstruction).
any other arguments
Version 3.9.6 (Although Copyright Tim Downie 1995-6.)
G P Nason
The mwd function produces a wavelet decomposition structure.
For decomposition, the top level contains the original data, and subsequent lower levels contain the successively smoothed data. So if there are mwd$filter$npsi*2^m
original data points (mwd$filter$npsi
is the multiplicity of wavelets), there will be m+1
levels indexed 0,1,...,m. So
accessC.mwd(Mwd, level=m)
pulls out the original data, as does
accessC.mwd(mwd)
To get hold of lower levels just specify the level that you're interested in, e.g.
accessC.mwd(mwd, level=2)
Gets hold of the second level.
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 matrix of coefficients. AccessC obtains information about where the smoothed data appears from the fl.dbase component of mwd, in particular the array fl.dbase$first.last.c
which gives a complete specification of index numbers and offsets for mwd$C
.
Note also that this function only gets information from mwd class objects. To put coefficients into mwd structures you have to use the putC.mwd function.
See Downie and Silverman, 1998.
accessD.mwd
, draw.mwd
, mfirst.last
, mfilter.select
, mwd
, mwd.object
, mwr
, plot.mwd
, print.mwd
, putC.mwd
, putD.mwd
, summary.mwd
, threshold.mwd
, wd
#
# Get the 3rd level of smoothed data from a decomposition
#
dat <- rnorm(32)
accessC.mwd(mwd(dat), level=3)
Run the code above in your browser using DataLab