simulate_OSLcomponents {OSLdecomposition}R Documentation

Simulates signal component decay curves and whole CW-OSL curves

Description

This function builds a bulk CW-OSL curve and CW-OSL component decay curves from OSL component parameters. Therewith it supports fit_OSLcurve, decompose_OSLcurve and plot_OSLcurve by providing model and residual curves.

Usage

simulate_OSLcomponents(
  components,
  curve = NULL,
  channel.width = 0.1,
  channel.number = 400,
  simulate.curve = FALSE,
  add.poisson.noise = TRUE,
  add.gaussian.noise = 0,
  add.background = 0,
  round.values = TRUE
)

Arguments

components

data.frame (required): Table with component parameters. The table requires columns ⁠$names⁠, ⁠$lambda⁠ and ⁠$n⁠, see section Examples.

curve

data.frame (optional): CW-OSL curve serving as template for the time axis. The input table requires a column ⁠$time⁠. If no input object is given or the object contains no column ⁠$signal⁠, simulate.curve will be set TRUE.

channel.width

numeric (optional): Channel width in seconds. Necessary for curve simulation if curve is not given.

channel.number

numeric (optional): Number of channels resp. data points. Necessary for curve simulation if curve is not given.

simulate.curve

logical (with default): Decides if the bulk CW-OSL signal shall be calculated from the component parameter. If FALSE, the output curve will take over the column ⁠$signal⁠ from the input curve. If TRUE, a new column ⁠$signal⁠ will be created which is the sum of all component curves.

add.poisson.noise

logical (with default): Adds poisson distributed shot noise to ⁠$signal⁠ if simulate.curve = TRUE.

add.gaussian.noise

numeric (with default): Standard deviation of the detector noise in cts/s, added to ⁠$signal⁠ if simulate.curve = TRUE.

add.background

numeric (with default): signal background level in cts/s, added to ⁠$signal⁠ if simulate.curve = TRUE

round.values

logical (with default): Rounds ⁠$signal⁠ values to integers if simulate.curve = TRUE.

Value

A data.frame of a CW-OSL curve with the columns: ⁠$time⁠, ⁠$signal⁠, ⁠$residual⁠, ⁠$sum⁠ and a signal decay curve for each single component named after the entries in the column components$names of the input object.

Last updates

2020-10-30, DM: Renamed from simulate_OSLcurve to simulate_OSLcomponents; Renamed argument from template.curve to curve; Rewrote roxygen documentation

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.

See Also

fit_OSLcurve, decompose_OSLcurve, plot_OSLcurve

Examples


# Set some arbitrary decay parameter for a dim CW-OSL measurement of quartz
components <- data.frame(name = c("fast", "medium", "slow"),
                         lambda = c(2, 0.5, 0.02),
                         n = c(1000, 1000, 10000))

# Simulate the CW-OSL curve and add some signal noise
curve <- simulate_OSLcomponents(components, simulate.curve = TRUE, add.poisson.noise = TRUE)

# Display the simulated curve
plot_OSLcurve(curve, components)


[Package OSLdecomposition version 1.0.0 Index]