Learn R Programming

OSLdecomposition (version 1.0.0)

RLum.OSL_global_fitting: Identify CW-OSL signal components in RLum.Analysis data sets

Description

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 RLum.Analysis data sets created within the Luminescence-package (Kreutzer et al. 2012).

Usage

RLum.OSL_global_fitting(
  object,
  record_type = "OSL",
  K_maximum = 5,
  F_threshold = 150,
  stimulation_intensity = 35,
  stimulation_wavelength = 470,
  report = FALSE,
  report_dir = NULL,
  image_format = "pdf",
  open_report = TRUE,
  rmd_path = NULL,
  verbose = TRUE
)

Value

The input object, a list of RLum.Analysis objects is returned but with a new list element object[["OSL_COMPONENTS"]], 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.

Arguments

object

RLum.Analysis or list of RLum.Analysis (required): Data set of one or multiple CW-OSL measured aliquots.

record_type

character (with default): Type of records, selected by the RLum.Analysis attribute @recordType. Common are: "OSL","SGOSL" or "IRSL".

K_maximum

numeric (with default): Maximum number of components K, see fit_OSLcurve.

F_threshold

numeric (with default): Fitting stop criterion, see fit_OSLcurve.

stimulation_intensity

numeric (with default): Intensity of optical stimulation in mW / cm². Used to calculate photo-ionisation cross-sections, see fit_OSLcurve.

stimulation_wavelength

numeric (with default): Wavelength of optical stimulation in nm. Used to calculate photo-ionisation cross-sections, see fit_OSLcurve.

report

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.

report_dir

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.

image_format

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.

open_report

logical (with default): If set to TRUE a browser window displaying the report will be opened automatically.

rmd_path

character (with default): For advanced users: File path to the rmarkdown source code file of the report. This allows to execute manipulated versions of the report.

verbose

logical (with default): Enables console text output.

Last updates

2022-05-02, DM: Added new parameter open_report to give control over automatic browser opening

Author

Dirk Mittelstrass, 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.

Details

The workflow of this function is as follows:

  1. sum_OSLcurves: Combine all measurements of type record_type to one global average curve.

  2. fit_OSLcurve: Identify OSL components by a multi-exponential fitting.

  3. Create a html report to summarize the results (optional).

Data sets must be formatted as RLum.Analysis objects and should have been processed with RLum.OSL_correction beforehand. Output objects are also 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-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")

References

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.

See Also

RLum.OSL_correction, RLum.OSL_decomposition, sum_OSLcurves, fit_OSLcurve

Examples

Run this code

# '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