Non-decimated Two-Dimensional Discrete Wavelet Transform

DESCRIPTION:

Applies the non-decimated (over-sampled) two dimensional discrete wavelet transform to an image or a matrix

USAGE:

nd.dwt.2d(x, wavelet="s8", n.levels=NULL, boundary="periodic", 
          dual=F, analysis.filter=NULL, synthesis.filter=NULL) 

REQUIRED ARGUMENTS:

x
an image or a matrix (see details below for restrictions)

OPTIONAL ARGUMENTS:

wavelet
a character string giving the name of the wavelet, e.g. "d4", "s8", see wavelet for all available wavelet names. If the length of wavelet is one, the same wavelet is used for both row and column. See wavelet for details. For user-provided filter, input the values in analysis.filter below.
n.levels
a non-negative integer or a non-negative integer vector of length two.
boundary
a character string giving the boundary rules. If the length of boundary is one, the same boundary rule is used for both row and column. The only available rule currently is: `"periodic".
dual
logical flag indicating if dual filter is used for analysis instead of synthesis. This argument applies only for biorthogonal wavelets. See wavelet for details.
analysis.filter
a numerical vector or a list of two vectors for user-defined analysis filter, see filter argument in wave.filter for details.
synthesis.filter
a numerical vector or a list of two vectors for user-defined synthesis filter, see filter argument in wave.filter for details. When analysis.filter is provided, then the default synthesis.filter is also analysis.filter.

VALUE:

an object of class nd.dwt.2d, inheriting from the classes dwt.2d , wpt.2d, and crystal.matrix. See crystal.matrix.object for details.

DETAILS:

The non-decimatedtwo dimensional discrete wavelet transform is non-orthogonal variant to the classical 2-D DWT. With the non-decimated DWT, starting with nr x nc sample values, you end up with (3.J+1) nr.nc coefficients. Unlike the classical 2-D DWT, which has fewer coefficients at coarse scales, each scale for the non-decimated DWT has 3.(nr.nc) coefficients. The non-decimated wavelet transform can be inverted using the reconstruct function. Refer to the section "Non-Decimated Wavelets" in the S+WAVELETS User's Manual for more details about the nd.dwt.2d function. All the default optional arguments can be reset using function wavelet.options . See wavelet.options for details. Under "periodic" boundary rule (the only boundary rule currently supported), matrix x is assumed to be periodic.

REFERENCES:

Mallat, S. and Hwang, W. L. (1992). Singularity Detection and Processing with Wavelets. IEEE Transactions on Information Theory, 38 (2), 617-643. Shensa, M. J. (1992). The Discrete Wavelet Transform: Wedding the A Trous and Mallat Algorithms. IEEE Transactions on Signal Processing, 40 (10), 2464-2482.

SEE ALSO:

, , , , , .

EXAMPLES:

nd.brain <- nd.dwt.2d(brain, n.levels=2) 
image(nd.brain[["s1-s1"]]