wst
class object## 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, ...)
wst
object supplied. This is usually any integer fromvar()
function. A pouniversal
", "LSuniversal
", "sure
policy="manual"
then value is the actual threshold value.levels
. If TRUE a threshold is computed and applied separately to each scale level.hard
" or "soft
".cv
" policy.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.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.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]
AvBasis
, AvBasis.wst
, InvBasis
, InvBasis.wst
, MaNoVe
,MaNoVe.wst
, wst
, wst.object
, threshold
.