First, all CW-OSL records are combined to one global average CW-OSL curve, then the multi-exponential fitting approach of Bluszcz and Adamiec (2006) is applied. This function processes Luminescence::RLum.Analysis data sets created within the Luminescence::Luminescence-package (Kreutzer et al. 2012).
The workflow of this function is as follows:
sum_OSLcurves: Combine all measurements of type record_type to one global average curve.
fit_OSLcurve: Identify OSL components by a multi-exponential fitting.
Create a html report to summarize the results (optional).
Data sets must be formatted as Luminescence::RLum.Analysis objects and should have been processed with RLum.OSL_correction beforehand. Output objects are also Luminescence::RLum.Analysis objects and are meant for further analysis with RLum.OSL_decomposition.
If report = TRUE, a html report of the results is rendered by the rmarkdown::rmarkdown-package
and saved in the working directory, which is usually the directory of the data file.
This report can be displayed, shared and published online without any requirements to
the operation system or installed software. However, an internet connection is needed to display
the MathJax encoded equations and special characters.
The Rmarkdown source code of the report can be found with the following command:
system.file("rmd", "report_Step1.Rmd", package = "OSLdecomposition")
RLum.OSL_global_fitting(
object,
record_type = "OSL",
K_maximum = 3,
F_threshold = 150,
stimulation_intensity = NA,
stimulation_wavelength = 470,
report = FALSE,
report_dir = NULL,
image_format = "pdf",
open_report = TRUE,
rmd_path = NULL,
verbose = TRUE
)The input object, a list of Luminescence::RLum.Analysis objects is returned but with
a new list element object[["FITTING"]], containing:
$decay.rates numeric vector: Decay rates of F-test recommendation or last successful fitting.
$K.selected numeric: Number of components of F-test recommendation or last successful fitting.
$F.test data.frame: F-test table.
$F.test.print data.frame: F-test table but formatted for console output and display with knitr::kable.
$info.text list: Short process log.
$component.tables list of data.frames: Signal component tables for all curve models.
$curve list: Global average curve created from all record_type curves in the data set.
$components data.frame: Signal component table of F-test recommendation or last successful fitting.
$fit.results list: Returned fitting objects of DEoptim::DEoptim and minpack.lm::nlsLM for all curve models.
$plot.data data.frame: Model overview table for photo-ionisation cross-section plotting with plot_PhotoCrosssections.
$parameters list: Input and algorithm parameters.
Luminescence::RLum.Analysis or list of Luminescence::RLum.Analysis (required): Data set of one or multiple CW-OSL measured aliquots.
character (with default):
Type of records, selected by the Luminescence::RLum.Analysis attribute @recordType.
Common are: "OSL","SGOSL" or "IRSL".
numeric (with default): Maximum number of components K, see fit_OSLcurve.
numeric (with default): Fitting stop criterion, see fit_OSLcurve.
numeric (with default): Intensity of optical stimulation in mW / cm². Used to calculate photo-ionisation cross-sections, see fit_OSLcurve.
numeric (with default): Wavelength of optical stimulation in nm. Used to calculate photo-ionisation cross-sections, see fit_OSLcurve.
logical (with default):
Creates a html report, saves it in the report_dir directory.
The report contains the results and detailed information on the data processing.
character (optional):
Path of output directory if report = TRUE. If report_dir = NULL (default),
a temporary folder is used which is deleted when the R session is closed.
File paths are also allowed as parameter, then a new directory named after the OSL data file
will be created.
character (with default):
Image format of the automatically saved graphs if report = TRUE and report_dir is set.
Allowed are .pdf, .eps, .svg (vector graphics), .jpg, .png, .bmp (pixel graphics)
and more, see ggplot2::ggsave. The images are saved in the report_dir subfolder /report_figures.
Set image_format = NULL if no images shall be saved.
logical (with default):
If set to TRUE a browser window displaying the report will be opened automatically.
character (with default): For advanced users: File path to the rmarkdown::rmarkdown-package source code file of the report. This allows to execute manipulated versions of the report.
logical (with default): Enables console text output.
2026-03-02, DM:
Changed default 'K_maximum 'to 3 and 'stimulation_intensity' to NA
Made pattern matching of 'record_type' with '@recordType' slot ready for Luminescence package 1.2
Improved input data checks
Existing RLum.OSL fitting and decomposition results are now removed with each execution of this function
Dirk Mittelstrass, dirk.mittelstrass@luminescence.de
Please cite this package, including its version number. Enter the command citation("OSLdecomposition") to generate the correct reference.
Bluszcz, A., Adamiec, G., 2006. Application of differential evolution to fitting OSL decay curves. Radiation Measurements 41, 886–891.
Kreutzer, S., Schmidt, C., Fuchs, M.C., Dietze, M., Fischer, M., Fuchs, M., 2012. Introducing an R package for luminescence dating analysis. Ancient TL, 30 (1), 1-8.
RLum.OSL_correction, RLum.OSL_decomposition, sum_OSLcurves, fit_OSLcurve
# 'FB_10Gy' is a dose recovery test with the Fontainebleau quartz
# measured in a lexsyg research with green LED stimulation
data_path <- system.file("examples", "FB_10Gy_SAR.bin", package = "OSLdecomposition")
data_set <- Luminescence::read_BIN2R(data_path, fastForward = TRUE)
# Check data set and perform background correction
data_set_corrected <- RLum.OSL_correction(data_set,
background = 11,
remove_light_off = FALSE)
# Identify components
data_set_fitted <- RLum.OSL_global_fitting(
data_set_corrected,
K_maximum = 2,
stimulation_intensity = 50,
stimulation_wavelength = 530)
Run the code above in your browser using DataLab