Function that returns a subset of an R object with observations corresponding to spikes. Spikes are values in spectra that are unusually high compared to neighbors. They are usually individual values or very short runs of similar "unusual" values. Spikes caused by cosmic radiation are a frequent problem in Raman spectra. Another source of spikes are "hot pixels" in CCD and diode arrays.
spikes(x, z.threshold, max.spike.width, na.rm, ...)# S3 method for default
spikes(x, z.threshold = NA, max.spike.width = 8, na.rm = FALSE, ...)
# S3 method for numeric
spikes(x, z.threshold = NA, max.spike.width = 8, na.rm = FALSE, ...)
# S3 method for data.frame
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
...,
y.var.name = NULL,
var.name = y.var.name
)
# S3 method for generic_spct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
var.name = NULL,
...
)
# S3 method for source_spct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
unit.out = getOption("photobiology.radiation.unit", default = "energy"),
...
)
# S3 method for response_spct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
unit.out = getOption("photobiology.radiation.unit", default = "energy"),
...
)
# S3 method for filter_spct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
filter.qty = getOption("photobiology.filter.qty", default = "transmittance"),
...
)
# S3 method for reflector_spct
spikes(x, z.threshold = 9, max.spike.width = 8, na.rm = FALSE, ...)
# S3 method for solute_spct
spikes(x, z.threshold = 9, max.spike.width = 8, na.rm = FALSE, ...)
# S3 method for cps_spct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
var.name = "cps",
...
)
# S3 method for raw_spct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
var.name = "counts",
...
)
# S3 method for generic_mspct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
...,
var.name = NULL,
.parallel = FALSE,
.paropts = NULL
)
# S3 method for source_mspct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
unit.out = getOption("photobiology.radiation.unit", default = "energy"),
...,
.parallel = FALSE,
.paropts = NULL
)
# S3 method for response_mspct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
unit.out = getOption("photobiology.radiation.unit", default = "energy"),
...,
.parallel = FALSE,
.paropts = NULL
)
# S3 method for filter_mspct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
filter.qty = getOption("photobiology.filter.qty", default = "transmittance"),
...,
.parallel = FALSE,
.paropts = NULL
)
# S3 method for reflector_mspct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
...,
.parallel = FALSE,
.paropts = NULL
)
# S3 method for solute_mspct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
...,
.parallel = FALSE,
.paropts = NULL
)
# S3 method for cps_mspct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
...,
var.name = "cps",
.parallel = FALSE,
.paropts = NULL
)
# S3 method for raw_mspct
spikes(
x,
z.threshold = 9,
max.spike.width = 8,
na.rm = FALSE,
...,
var.name = "counts",
.parallel = FALSE,
.paropts = NULL
)
A subset of the object passed as argument to x
with rows
corresponding to spikes.
an R object
numeric Modified Z values larger than z.threshold
are considered to correspond to spikes.
integer Wider regions with high Z values are not detected as spikes.
logical indicating whether NA
values should be stripped
before searching for spikes.
ignored
character Name of column where to look for spikes.
character One of "energy" or "photon"
character One of "transmittance" or "absorbance"
if TRUE, apply function in parallel, using parallel backend provided by foreach
a list of additional options passed into the foreach function when parallel computation is enabled. This is important if (for example) your code relies on external data or packages: use the .export and .packages arguments to supply them so that all cluster nodes have the correct environment set up for computing.
spikes(default)
: Default returning always NA.
spikes(numeric)
: Default function usable on numeric vectors.
spikes(data.frame)
: Method for "data.frame" objects.
spikes(generic_spct)
: Method for "generic_spct" objects.
spikes(source_spct)
: Method for "source_spct" objects.
spikes(response_spct)
: Method for "response_spct" objects.
spikes(filter_spct)
: Method for "filter_spct" objects.
spikes(reflector_spct)
: Method for "reflector_spct" objects.
spikes(solute_spct)
: Method for "solute_spct" objects.
spikes(cps_spct)
: Method for "cps_spct" objects.
spikes(raw_spct)
: Method for "raw_spct" objects.
spikes(generic_mspct)
: Method for "generic_mspct" objects.
spikes(source_mspct)
: Method for "source_mspct" objects.
spikes(response_mspct)
: Method for "cps_mspct" objects.
spikes(filter_mspct)
: Method for "filter_mspct" objects.
spikes(reflector_mspct)
: Method for "reflector_mspct" objects.
spikes(solute_mspct)
: Method for "solute_mspct" objects.
spikes(cps_mspct)
: Method for "cps_mspct" objects.
spikes(raw_mspct)
: Method for "raw_mspct" objects.
Spikes are detected based on a modified Z score calculated from the
differenced spectrum. The Z threshold used should be adjusted to the
characteristics of the input and desired sensitivity. The lower the
threshold the more stringent the test becomes, resulting in most cases in
more spikes being detected. A modified version of the algorithm is used if
a value different from NULL
is passed as argument to
max.spike.width
. In such a case, an additional step filters out
broader spikes (or falsely detected steep slopes) from the returned values.
When the argument passed to x
contains multiple spectra, the spikes
are searched for in each spectrum independently of other spectra.
See the documentation for find_spikes
for details of
the algorithm and implementation.
Other peaks and valleys functions:
find_peaks()
,
find_spikes()
,
get_peaks()
,
peaks()
,
replace_bad_pixs()
,
valleys()
,
wls_at_target()