accessD.wd3D {wavethresh} | R Documentation |
Get wavelet coefficients from 3D wavelet object
Description
This function extracts and returns arrays of wavelet coefficients, corresponding to a particular resolution level, from a wd
wavelet decomposition object.
The pyramid of coefficients in a wavelet decomposition (returned from the wd3D
function, say) are packed into a single array in WaveThresh3
.
Usage
## S3 method for class 'wd3D'
accessD(obj, level = nlevelsWT(obj)-1, block, ...)
Arguments
obj |
3D Wavelet decomposition object from which you wish to extract the wavelet coefficients. |
level |
The resolution level at which you wish to extract coefficients. The minimum level you can enter is 0, the largest is one less than the number of nlevelsWT stored in the obj object. |
block |
if block is missing then a list containing all of the wavelet coefficient blocks GGG, GGH, GHG, GHH, HGG, HGH, HHG (and HHH, if level=0) is returned. Otherwise block should be one of the character strings GGG, GGH, GHG, GHH, HGG, HGH, HHG and then only that sub-block is returned from the resolution level specified. |
... |
any other arguments |
Details
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 array.
Note that this functiOn is a method for the generic function accessD
.
Value
If the block is missing then a list is returned containing all the sub-blocks of coefficients for the specificed resolution level
.
Otherwise the block character string specifies which sub-block of coefficients to return.
RELEASE
Version 3.9.6 Copyright Guy Nason 1997
Author(s)
G P Nason
See Also
link{accessD}
, link{print.wd3D}
, link{putD.wd3D}
, link{putDwd3Dcheck}
, link{summary.wd3D}
, link{threshold.wd3D}
, link{wd3D}
, link{wd3D object}
, link{wr3D}
.
Examples
#
# Generate some test data
#
a <- array(rnorm(8*8*8), dim=c(8,8,8))
#
# Perform the 3D DWT
#
awd3D <- wd3D(a)
#
# How many levels does this object have?
#
nlevelsWT(awd3D)
# [1] 3
#
# So conceivably we could access levels 0, 1 or 2.
#
# Ok. Let's get the level 1 HGH sub-block coefficients:
#
accessD(awd3D, level=1, block="HGH")
#
#, , 1
# [,1] [,2]
#[1,] 0.8359289 1.3596832
#[2,] -0.1771688 0.2987303
#
#, , 2
# [,1] [,2]
#[1,] -1.2633313 1.00221652
#[2,] -0.3004413 0.04728019
#
# This was a 3D array of dimension size 2 (8 -> 4 -> 2, level 3, 2 and then 1)
#
#
# Let's do the same call except this time don't specify the block arg.
#
alllev1 <- accessD(awd3D, level=1)
#
# This new object should be a list containing all the subblocks at this level.
# What are the components?
#
names(alllev1)
#[1] "GHH" "HGH" "GGH" "HHG" "GHG" "HGG" "GGG"
#
# O.k. Let's look at HGH again
#
alllev1$HGH
#
#, , 1
# [,1] [,2]
#[1,] 0.8359289 1.3596832
#[2,] -0.1771688 0.2987303
#
#, , 2
# [,1] [,2]
#[1,] -1.2633313 1.00221652
#[2,] -0.3004413 0.04728019
#
# Same as before.
#