msNoise: Local Noise Estimation

Description Usage Arguments Value See Also Examples

Description

Estimates the local noise level by applying a specified smoother function to the the noise data attached to the primary input variable.

Usage

1
2
3
msNoise(x, FUN="spline",
    pre=abs, detach.noise=FALSE,
    event="Local Noise Estimation", ...)

Arguments

x

An object of class msSet with an existing element "noise". The noise element should be a matrix with the same dimensions as the intensity data, such as that returned by the msDenoise function.

...

Additional arguments to FUN. They are passed unchanged to each call of FUN and include their names. See the help documentation of the specified routine for details.

FUN

Either an object of class "character" or of class "function".

character: A character string denoting the method to use in smoothing the noise data. Supported choices are "spline", "supsmu", "ksmooth", "loess", and "mean". Default: "spline".

function: A user-defined function with an argument list of the form (x, ...) where x is a required argument corresponding to a numeric vector (typically these values will be the noise estimates of a mass spectrum).

In either case, the additional arguments ... will be passed directly to the specified routine.

detach.noise

A logical indicating if the noise removed previously should be detached or not. Default: FALSE.

event

A character string denoting the name of the event to register with the (embedded) event history object of the input after processing the input data. Default: "Local Noise Estimation".

pre

A function that is applied to the data prior to processing it with the function defined by FUN. Default: abs.

Value

An object of class msSet with local noise estimate attached as element "noise.local" and optionally with the element "noise" detached.

See Also

msDenoise, msSet, properCase.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
if (!exists("qcset")) data("qcset", package="msProcess")

## denoise a noise contaminated spectrum portion
## via waveshrink
mz     <- (qcset$mz > 3000 & qcset$mz < 5000)
data   <- qcset[mz, 1, drop=FALSE]
noise  <- rnorm(length(data$intensity), sd=stdev(data$intensity)/3)
xnoise <- data

xnoise$intensity <- data$intensity + matrix(noise, ncol=1)
z <- vector("list", length=4)
z[[1]] <- msDenoise(xnoise, FUN="wavelet")

## smooth the resulting noise estimates to form a
## localized estimate of the noise using
## various supported methods

z[[2]] <- msNoise(z[[1]], FUN="spline")
z[[3]] <- msNoise(z[[1]], FUN="loess")

## create a user-defined smoothing function
my.fun <- function(x, wavelet="d4"){
    filt <- wavDaubechies(wavelet=wavelet, norm=FALSE)$scaling
    return(filter(x, filt))
}
z[[4]] <- msNoise(z[[1]], FUN=my.fun, wavelet="s12")

## create a stackplot of the results
type <- c("noise", rep("noise.local", 3))
for (i in 1:4){
    z[[i]] <- as.vector(z[[i]][[type[i]]])
}
names(z) <- c("noise","spline", "loess", "my function")
wavStackPlot(z, col=seq(along=z), same.scale=TRUE)

zeehio/msProcess documentation built on May 4, 2019, 10:15 p.m.