Lx/Tx ratio for CW-OSL curvesCalculate Lx/Tx ratios from a given set of CW-OSL curves assuming late light
background subtraction.
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 = c("non-poisson", "poisson"),
use_previousBG = FALSE,
sigmab = NULL,
od_rates = NULL,
sig0 = 0,
digits = NULL,
...
)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
.. $ od_rates
@info
$ call (original function call)
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.
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.data will be treated as NA and no Lx/Tx ratio
is calculated. When Lx.data is a list, it must be provided as a list of
the same length.
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.
integer (required):
vector of channels for the background integral. If set to NA, no
background integral is subtracted; in this case, sigmab.LnLx (unless
manually set) and the signal-to-noise ratio for Ln/Lx will be NA.
integer (optional):
vector of channels for the signal integral for the Tx curve.
If NULL, the signal_integral vector is used.
integer (optional):
vector of channels for the background integral for the Tx curve.
If NULL, the background_integral vector is used. If set to NA, no
background integral for the Tx curve is subtracted; in this case,
sigmab.TxTx (unless manually set) and the signal-to-noise ratio for
Tn/Tx will be NA.
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.
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. It is ignored if od_rates is provided.
logical (with default):
If set to TRUE the background of the Lx-signal is subtracted also
from the Tx-signal. Please note that in this case separate
signal integral limits for the Tx-signal are not allowed and will be reset.
numeric (optional):
option to set a manual value for the overdispersion (for LnTx and TnTx),
used for the Lx/Tx error calculation. The value should be provided as
absolute squared count values, e.g. sigmab = c(300,300). Despite its name
it is an additional variance (above Poisson variance), not a dispersion.
Note: If only one value is provided this value is taken for both
(LnTx and TnTx) signals.
numeric (optional):
a vector of three elements: the dark count rate (or background count rate),
the background count overdispersion, and the photon count overdispersion.
If set, an alternative way of computing the overdispersion will be used
(see details). It is ignored (with a warning) if sigmab is provided.
numeric (with default):
allow adding an extra component of error to the final Lx/Tx error value
(e.g., instrumental error, see details).
integer (with default):
round numbers to the specified digits. If set to NULL no rounding occurs.
currently not used.
0.9.8
Kreutzer, S., Colombo, M., Bluszcz, A., 2026. calc_OSLLxTxRatio(): Calculate Lx/Tx ratio for CW-OSL curves. Function version 0.9.8. 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.3.0. https://r-lum.github.io/Luminescence/
Sebastian Kreutzer, F2.1 Geophysical Parametrisation/Regionalisation, LIAG - Institute for Applied Geophysics (Germany)
Marco Colombo, Institute of Geography, Heidelberg University (Germany)
Andrzej Bluszcz, Silesian University of Technology, Gliwice (Poland)
, RLum Developer Team
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, 2014) or to
Bluszcz et a. (2015) depending on the presence of od_rates argument.
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.
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. not follow a Poisson distribution, which is assumed for the photomultiplier counts). In that case (might be the normal case) the overdispersion has to be accounted for by estimating \(\sigma_B^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_B^2(1+1/k)) / (Y_{0} - Y_{1}/k)} $$
If background_integral = NA, then in both cases the relative standard
error simplifies to:
$$rse(\mu_{S}) \approx \sqrt{Y_{0}} / Y_{0}$$
sigmab
The default value of sigmab (\(\sigma_B^2\)) is calculated assuming the background is
constant and would not be applicable when the background varies,
e.g., as observed for the early light subtraction method.
Note: 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; if necessary, consider providing a custom
value using the sigmab argument.
od_rates
Setting the od_rates argument activates the error calculation according
to Bluszcz et al. (2015). The argument expects a 3-element vector:
B_DC is the PMT-specific dark count rate as pulses per second (not per channel)
k_DC is the PMT-specific dispersion excess factor for dark counts
k_ph is the PMT-specific dispersion excess factor for photon counts
The dark count rate and the dispersion excess factors have to be known in advance, and can be obtained by direct experiments performed in laboratory conditions, essentially the same as the routine measurement conditions (for examples see: Bluszcz et al. (2015), Carter et al. (2018)). The photon count overdispersion \(k_{ph}\) needs a photon source with a constant photon emission rate and independent photon emissions (so the number of photons emitted in a fixed time is a Poisson variable). Note that \(B_{DC}\) must be non-negative, while \(k_{DC}\) and \(k_{ph}\) must be positive (for readers with no pulse divider, they should be greater or equal to 1).
Under the assumption of statistically independent background (\(N_{DC}\)) and photon counts (\(N_{ph}\)), the total number of counts (say, a certain integral \(N\) of the OSL curve over time \(t\)) is:
$$N = N_{ph} + N_{DC}$$
and has the following variance:
$$ s^2(N) = k_{ph}^2 N_{ph} + K_{DC}^2 N_{DC} = k_{ph}^2 (N - B_{DC} t) + k_{DC}^2 B_{DC} t = k_{ph}^2 N + (k_{DC}^2 - k_{ph}^2) B_{DC} t $$
The LnLx.Error and TnTx.Error are computed as \(\sqrt{s^2(N)}\).
sig0
This argument allows adding an extra component of error to the final Lx/Tx
error value. The input will be treated as a factor that is multiplied by
the already calculated LxTx and the result is added according to:
$$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).
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. tools:::Rd_expr_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. tools:::Rd_expr_doi("10.26034/la.atl.2014.477")
Bluszcz, A., Adamiec, G., Herr, A., 2015. Estimation of equivalent dose and its uncertainty in the OSL SAR protocol when count numbers do not follow a Poisson distribution. Radiation Measurements 81, 46-54. tools:::Rd_expr_doi("10.1016/j.radmeas.2015.01.004")
Carter, J., Cresswell, A.J., Kinnaird, T.C., Carmichael, L.A., Murphy, S., Sanderson, D.C.W., 2018. Non-Poisson variations in photomultipliers and implications for luminescence dating. Radiation Measurements 120, 267-273. tools:::Rd_expr_doi("10.1016/j.radmeas.2018.05.010")
RLum.Data.Curve, fit_DoseResponseCurve, analyse_SAR.CWOSL
##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)
Run the code above in your browser using DataLab