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.
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
)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.
data.frame or numeric vector (required):
Table or vector containing the decay constants of the signal components.
A data.frame must contain a column $lambda. Usually the data.frame is provided
by fit_OSLcurve.
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 and channel.number
numeric (optional):
Channel width in seconds. Necessary if curve is not given.
numeric (optional):
Number of channels resp. data points. Necessary if curve is not given.
numeric (with default): Starting time of the first interval, per default the start of the measurement.
numeric (optional): End time of the last interval, per default the end of the measurement.
logical (with default):
If TRUE, an additional interval for a component with a decay rate of zero will be
determined. This enables the calculation of the signal background level during the signal
decomposition with decompose_OSLcurve.
logical (with default): Enables console text output.
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.
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)
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.
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.
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.
decompose_OSLcurve, RLum.OSL_decomposition, DEoptim::DEoptim, fit_OSLcurve
A <- optimise_OSLintervals(c(2, 0.5, 0.02), channel.width = 0.1, channel.number = 200)
print(A, row.names = FALSE)
Run the code above in your browser using DataLab