Learn R Programming

wavethresh (version 4.6.1)

threshold.wst: Threshold (NDWT) packet-ordered non-decimated wavelet decomposition object

Description

This function provides various ways to threshold a wst class object

Usage

## S3 method for class 'wst':
threshold(wst, levels = 3:(nlevelsWT(wst) - 1), dev = madmad, policy = 
	"universal", value = 0, by.level = FALSE, type = "soft", verbose
	 = FALSE, return.threshold = FALSE, cvtol = 0.01, cvnorm = l2norm, 
	add.history = TRUE, ...)

Arguments

wst
The packet ordered non-decimated wavelet decomposition object that you wish to threshold.
levels
a vector of integers which determines which scale levels are thresholded in the decomposition. Each integer in the vector must refer to a valid level in the wst object supplied. This is usually any integer from
dev
this argument supplies the function to be used to compute the spread of the absolute values coefficients. The function supplied must return a value of spread on the variance scale (i.e. not standard deviation) such as the var() function. A po
policy
selects the technique by which the threshold value is selected. Each policy corresponds to a method in the literature. At present the different policies are: "universal", "LSuniversal", "sure
value
This argument conveys the user supplied threshold. If the policy="manual" then value is the actual threshold value.
by.level
If FALSE then a global threshold is computed on and applied to all scale levels defined in levels. If TRUE a threshold is computed and applied separately to each scale level.
type
determines the type of thresholding this can be "hard" or "soft".
verbose
if TRUE then the function prints out informative messages as it progresses.
return.threshold
If this option is TRUE then the actual value of the threshold is returned. If this option is FALSE then a thresholded version of the input is returned.
cvtol
Parameter for the cross-validation "cv" policy.
cvnorm
A function to compute the distance between two vectors. Two useful possibilities are l2norm and linfnorm. Selection of different metrics causes the cross-val
add.history
If TRUE then the thresholding operation details are add to the returned wst object. This can be useful when later tracing how an object has been treated.
...
any other arguments

Value

  • An object of class wst. This object contains the thresholded wavelet coefficients. Note that if the return.threshold option is set to TRUE then the threshold values will be returned rather than the thresholded object.

RELEASE

Version 3.6 Copyright Guy Nason 1997

Details

This function thresholds or shrinks wavelet coefficients stored in a wst object and returns the coefficients in a modified wst object. The thresholding step is an essential component of denoising using the packet-ordered non-decimated wavelet transform. If the denoising is carried out using the AvBasis basis averaging technique then this software is an implementation of the Coifman and Donoho translation-invariant (TI) denoising. (Although it is the denoising technique which is translation invariant, not the packet ordered non-decimated transform, which is translation equivariant). However, the threshold.wst algorithm can be used in other denoising techniques in conjunction with the basis selection and inversion functions MaNoVe and InvBasis. The basic idea of thresholding is very simple. In a signal plus noise model the wavelet transform of signal is very sparse, the wavelet transform of noise is not (in particular, if the noise is iid Gaussian then so if the noise contained in the wavelet coefficients). Thus since the signal gets concentrated in the wavelet coefficients and the noise remains "spread" out it is "easy" to separate the signal from noise by keeping large coefficients (which correspond to signal) and delete the small ones (which correspond to noise). However, one has to have some idea of the noise level (computed using the dev option in threshold functions). If the noise level is very large then it is possible, as usual, that no signal "sticks up" above the noise.

Many of the pragmatic comments for successful thresholding given in the help for threshold.wd hold true here: after all non-decimated wavelet transforms are merely organized collections of standard (decimated) discrete wavelet transforms. We reproduce some of the issues relevant to thresholding wst objects.

Some issues to watch for:

[object Object],[object Object]

See Also

AvBasis, AvBasis.wst, InvBasis, InvBasis.wst, MaNoVe,MaNoVe.wst, wst, wst.object, threshold.