optimise_OSLintervals {OSLdecomposition} | R Documentation |
Find adequate integration intervals for CW-OSL decomposition
Description
This function defines integration intervals for CW-OSL component separation with decompose_OSLcurve. The underlying iterative optimisation process aims for minimum cross-correlation between the signal components.
Usage
optimise_OSLintervals(
components,
curve = NULL,
channel.width = NA,
channel.number = NA,
t.start = 0,
t.end = NA,
background.component = FALSE,
verbose = TRUE,
parallel.computing = FALSE
)
Arguments
components |
data.frame or numeric vector (required):
Table or vector containing the decay constants of the signal components.
A data.frame must contain a column |
curve |
data.frame or matrix or RLum.Data.Curve (optional):
OSL signal curve which serves as time axis template.
The input curve will be used to define |
channel.width |
numeric (optional):
Channel width in seconds. Necessary if |
channel.number |
numeric (optional):
Number of channels resp. data points. Necessary if |
t.start |
numeric (with default): Starting time of the first interval, per default the start of the measurement. |
t.end |
numeric (optional): End time of the last interval, per default the end of the measurement. |
background.component |
logical (with default):
If |
verbose |
logical (with default): Enables console text output. |
parallel.computing |
logical (with default): Enables the use of multiple CPU cores. This increases the execution speed significantly but may need administrator rights and/or a firewall exception. See DEoptim::DEoptim.control for further information. |
Details
The precision of the component separation with decompose_OSLcurve and the impact of systematic decay rate errors on the component separation depends on the integration interval definition. This function minimises the influence of an under/over-estimated decay rate to the signal intensity calculation of other component. This is done by maximizing the denominator determinant in Cramers rule, see Mittelstraß (2019) for details. For maximisation, the iterative evolutionary algorithm of Storn and Price (1997) is used, available in R through DEoptim::DEoptim.
The inclusion of a background component is supported, see decompose_OSLcurve for details.
Value
The input table components
data.frame will be returned with four additional columns:
$t.start
, $t.end
defining the time intervals and $ch.start
, $ch.end
assigning those intervals to channel indicies.
If a numeric vector is given as input, a new data.frame will be returned.
Last updates
2020-08-23, DM: Replaced previous maximum searching algorithm with DEoptim::DEoptim (update may have changed analysis results)
2020-10-29, DM: Added parallel.computing
argument; enhanced roxygen documentation (minor update)
Author(s)
Dirk Mittelstraß, dirk.mittelstrass@luminescence.de
Please cite the package the following way:
Mittelstraß, D., Schmidt, C., Beyer, J., Heitmann, J. and Straessner, A.: R package OSLdecomposition: Automated identification and separation of quartz CW-OSL signal components, in preparation.
References
Mittelstraß, D., 2019. Decomposition of weak optically stimulated luminescence signals and its application in retrospective dosimetry at quartz (Master thesis). TU Dresden, Dresden.
Storn, R., Price, K., 1997. Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces. Journal of Global Optimization 11, 341–359.
See Also
decompose_OSLcurve, RLum.OSL_decomposition, DEoptim::DEoptim, fit_OSLcurve
Examples
A <- optimise_OSLintervals(c(2, 0.5, 0.02), channel.width = 0.1, channel.number = 200)
print(A, row.names = FALSE)