Calculate Lx/Tx ratios from a given set of CW-OSL curves assuming late light
background subtraction.
Usage
calc_OSLLxTxRatio(
Lx.data,
Tx.data = NULL,
signal_integral = NULL,
background_integral = NULL,
signal_integral_Tx = NULL,
background_integral_Tx = NULL,
integral_input = c("channel", "measurement"),
background.count.distribution = "non-poisson",
use_previousBG = FALSE,
sigmab = NULL,
sig0 = 0,
digits = NULL,
...
)Arguments
- Lx.data
RLum.Data.Curve, data.frame, list (required): requires a CW-OSL shine down curve (x = time, y = counts). Data can also be provided as a list.
- Tx.data
RLum.Data.Curve or data.frame (optional): requires a CW-OSL shine down curve (x = time, y = counts). If no input is given the
Tx.datawill be treated asNAand noLx/Txratio is calculated. WhenLx.datais a list, it must be provided as a list of the same length.- signal_integral
integer (required): vector of channels for the signal integral. If set to
NA(alternate mode), no integrals are taken into account and their settings are ignored.- background_integral
integer (required): vector of channels for the background integral. If set to
NA, no background integral is subtracted; in this case, the error calculation and the signal-to-noise ratio will reportNAvalues.- signal_integral_Tx
integer (optional): vector of channels for the signal integral for the
Txcurve. IfNULL, thesignal_integralvector is used.- background_integral_Tx
integer (optional): vector of channels for the background integral for the
Txcurve. IfNULL, thebackground_integralvector is used. If set toNA, no background integral for theTxcurve is subtracted; in this case, the error calculation and the signal-to-noise ratio will reportNAvalues.- integral_input
character (with default): input type for
signal_integral, one of"channel"(default) or"measurement". If set to"measurement", the best matching channels corresponding to the given time/temperature range are selected.- background.count.distribution
character (with default): sets the count distribution assumed for the error calculation. Possible arguments are
"poisson"or"non-poisson"(default). See details for further information.- use_previousBG
logical (with default): If set to
TRUEthe background of theLx-signal is subtracted also from theTx-signal. Please note that in this case separate signal integral limits for theTx-signal are not allowed and will be reset.- sigmab
numeric (optional): option to set a manual value for the overdispersion (for
LnTxandTnTx), used for theLx/Txerror calculation. The value should be provided as absolute squared count values, e.g.sigmab = c(300,300). Note: If only one value is provided this value is taken for both (LnTxandTnTx) signals.- sig0
numeric (with default): allow adding an extra component of error to the final
Lx/Txerror value (e.g., instrumental error, see details).- digits
integer (with default): round numbers to the specified digits. If set to
NULLno rounding occurs.- ...
currently not used.
Value
Returns an S4 object of type RLum.Results.
Slot data contains a list with the following structure:
@data
$LxTx.table (data.frame)
.. $ LnLx
.. $ LnLx.BG
.. $ TnTx
.. $ TnTx.BG
.. $ Net_LnLx
.. $ Net_LnLx.Error
.. $ Net_TnTx
.. $ Net_TnTx.Error
.. $ SN_RATIO_LnLx,
.. $ SN_RATIO_TnTx,
.. $ LxTx
.. $ LxTx.Error
$ calc.parameters (list)
.. $ sigmab.LnTx
.. $ sigmab.TnTx
.. $ k@info
Details
The function checks the integrity of the values chosen for the signal and background integrals; the signal integral limits have to be lower than the background integral limits. If a vector is given as input instead of a data.frame, an artificial data.frame is produced. The error calculation is done according to Galbraith (2002).
Please note: In cases where the calculation results in NaN values (for
example due to zero-signal, and therefore a division of 0 by 0), these NaN
values are replaced by 0.
sigmab
The default value of sigmab is calculated assuming the background is
constant and would not applicable when the background varies as,
e.g., as observed for the early light subtraction method.
sig0
This argument allows to add an extra component of error to the final Lx/Tx
error value. The input will be treated as factor that is multiplied with
the already calculated LxTx and the result is add up by:
$$se(LxTx) = \sqrt(se(LxTx)^2 + (LxTx * sig0)^2)$$
SN_RATIO_LnLx and SN_RATIO_TnTx
For convenience, the function returns the signal-to-noise ratio (SN_RATIO)
for the LnLx and the TnTx curves. This is simply the signal divided
by the background signal counts normalised to the k value (see below).
background.count.distribution
This argument allows selecting the distribution assumption that is used for the error calculation. According to Galbraith (2002, 2014) the background counts may be overdispersed (i.e. do not follow a Poisson distribution, which is assumed for the photomultiplier counts). In that case (might be the normal case) it has to be accounted for the overdispersion by estimating \(\sigma^2\) (i.e. the overdispersion value). Therefore the relative standard error is calculated as:
poisson$$rse(\mu_{S}) \approx \sqrt(Y_{0} + Y_{1}/k^2)/Y_{0} - Y_{1}/k$$non-poisson$$rse(\mu_{S}) \approx \sqrt(Y_{0} + Y_{1}/k^2 + \sigma^2(1+1/k))/Y_{0} - Y_{1}/k$$
Please note that when using the early background subtraction method in
combination with the 'non-poisson' distribution argument, the corresponding Lx/Tx error
may considerably increase due to a high sigmab value.
Please check whether this is valid for your data set and if necessary
consider to provide an own sigmab value using the corresponding argument sigmab.
Note
The results of this function have been cross-checked with the Analyst (version 3.24b). Access to the results object via get_RLum.
Caution: If you are using early light subtraction (EBG), please either provide your
own sigmab value or use background.count.distribution = "poisson".
How to cite
Kreutzer, S., Colombo, M., 2026. calc_OSLLxTxRatio(): Calculate Lx/Tx ratio for CW-OSL curves. Function version 0.9.5. In: Kreutzer, S., Burow, C., Dietze, M., Fuchs, M.C., Schmidt, C., Fischer, M., Friedrich, J., Mercier, N., Philippe, A., Riedesel, S., Autzen, M., Mittelstrass, D., Gray, H.J., Galharret, J., Colombo, M., Steinbuch, L., Boer, A.d., Bluszcz, A., 2026. Luminescence: Comprehensive Luminescence Dating Data Analysis. R package version 1.2.0. https://r-lum.github.io/Luminescence/
References
Duller, G., 2018. Analyst v4.57 - User Manual.
https://users.aber.ac.uk/ggd
Galbraith, R.F., 2002. A note on the variance of a background-corrected OSL count. Ancient TL, 20 (2), 49-51. doi:10.26034/la.atl.2002.348
Galbraith, R.F., 2014. A further note on the variance of a background-corrected OSL count. Ancient TL, 31 (2), 1-3. doi:10.26034/la.atl.2014.477
Author
Sebastian Kreutzer, F2.1 Geophysical Parametrisation/Regionalisation, LIAG - Institute for Applied Geophysics (Germany)
Marco Colombo, Institute of Geography, Heidelberg University (Germany)
, RLum Developer Team
Examples
##load data
data(ExampleData.LxTxOSLData, envir = environment())
##calculate Lx/Tx ratio
results <- calc_OSLLxTxRatio(
Lx.data = Lx.data,
Tx.data = Tx.data,
signal_integral = 1:2,
background_integral = 85:100)
##get results object
get_RLum(results)
#> LnLx LnLx.BG TnTx TnTx.BG Net_LnLx Net_LnLx.Error Net_TnTx Net_TnTx.Error
#> 1 81709 530 7403 513 81179 286.5461 6890 88.53581
#> SN_RATIO_LnLx SN_RATIO_TnTx LxTx LxTx.Error
#> 1 154.1679 14.4308 11.78215 0.1570077