The latest officially released version (1.2) can be installed automatically from CRAN via the RStudio package manager or by executing the following code in R:

install.packages("OSLdecomposition")


The in-development version from GitHub can be installed using the remotes package:

install.packages("remotes")
library(remotes)
install_github("DirkMittelstrass/OSLdecomposition")

However, unless you are in dire need of an unreleased new feature or do want to participate in the package development, we DO NOT recommend to use the GitHub version for your data analyses. Outline, progress log and discussion for version 1.3.0 can be found on GitHub.


OSLdecomposition 1.2

Released 2026-03-12 on CRAN

  • RLum.OSL_decomposition: Returns now some basic statistics about contribution of the components to the initial CW-OSL signal, see console output and object$DECOMPOSITION$initial.signal.stats.
  • RLum.OSL_decomposition: The component which dominates the initial signal on average (highest median) is now stated as Dominating Component in console output and object$DECOMPOSITION$dominating.component.
  • RLum.OSL_decomposition: Function no longer crashes if record data contains no @info$IRR_TIME parameters.
  • RLum.OSL_decomposition: Default number of components K is no longer K = 3 if not set by the user. Instead K = length(decay_rates) if decay_rates are set, else K = $FITTING$K.selected.
  • RLum.OSL_global_fitting: Changed default K_maximum to 3 and stimulation_intensity to NA.
  • Added that RLum.OSL functions remove automatically result list entries (i.e. $CORRECTION, $FITTING, $DECOMPOSITION) which become invalid.
  • Better support for RLum.Analysis data sets which were imported from XSYG files in all RLum.OSL functions.
  • Improved input data checks in all RLum.OSL functions.
  • To make OSLdecomposition ready for the breaking changes in Luminescence package 1.2, All pattern matching via == or grepl() of record_type arguments with @recordType slots of RLum.Data.Curve objects is replaced with check_RLum.Data() checks.
  • check_RLum.Data: Added a testthat test for with 100 % coverage (Done by @mcol).
  • Added function check_RLum.Data() to check if a RLum.Data.Curve object matches a specific type of record. As example, the function returns TRUE if the record type naming “OSL” is matched with records of type “OSL”, “OSL (PMT)”, “OSL (NA)”, etc. but returns FALSE if “OSL” is matched with “IRSL”, “_OSL (NA)”, “OSL2” etc.
  • sum_OSLcurves: Accepts now list of data.frames and RLum.Data.Curve objects as input.
  • sum_OSLcurves: Revised function for faster calculation and plotting and to be less prone of errors of warnings..
  • fit_OSLcurve: Changed default stimulation.intensity to NA and allowed that no stimulation intensity is given.
  • Changed the display mode of the signal components in plot_OSLcurvediagrams from stacked area to graph for all non-linear plots (e.g. pseudoLM-OSL and logarithmic scale plots).
  • Added a new algorithm normalize_x_axis to RLum.OSL_correction(). It ensures that the first x-value is equal the channel width. Fo example, a record with channel width 0.1 sec should not start at 0.0 sec or 70.0 sec, but at 0.1 sec.
  • Bumped version requirements to R >= 4.4


OSLdecomposition 1.1.0

Released 2025-08-31 on CRAN

  • The package has now a DOI: doi.org/10.32614/CRAN.package.OSLdecomposition.
  • Added more general plot function: plot_MultiExponential()
  • Reworked plot_OSLcurve() to be just a wrapper function for plot_MultiExponential(), which makes it more robust.
  • Changed graph style in plot_OSLcurve() to stacked areas. Also changed default colors.
  • Add module tests and automatically generated HTML test reports. Currently only for plot_MultiExponential, plot_OSLcurve and decompose_OSLcurve.
  • Solved bug in RLum.OSL_correction() that remove_light_off algorithm may throw warnings or errors for specific curves
  • RLum.OSL functions return now helpful error messages if BIN or XSYG data objects are used as input without the transforming them into RLum.Analysis objects beforehand.
  • decompose_OSLcurve() uses now element names of named lambda vector as component names.
  • Fixed some issues and errors in the roxygen documentation.
  • Bumped version requirements to R >= 4.3 and Luminescence >= 1.1.0.
  • Adding 'knitr' to suggest and fix CRAN Rd note .
  • Fix Lost braces.


OSLdecomposition 1.0.0

Released 2022-08-12 on CRAN

  • First reviewed and throughout tested release
  • Added correction for PMT pulse-pair resolution to RLum.OSL_correction()
  • Added option to turn of automatic browser opening when reports are created
  • Moved the RSS calculation for the fitting algorithm used in fit_OSLcurve() to decompose_OSLcurve()and optimized it for performance there. This speeds up fit_OSLcurve() and RLum.OSL_global_fitting by about 4 times
  • Fixed bug that report images are saved in the wrong directory at some systems
  • Removed kableExtra package dependency (now only suggested). This simplified the use on Linux systems because kableExtra needs the installation of not-standard system libraries (tested on Ubuntu 20.04). The HTML reports have now differently formatted tables depending whether kableExtra is installed or not
  • Checked spelling and grammar in the whole package (thanks to C. Schmidt)
  • Changed used font, removed session info and made other minor style changes in the automatically created HTML reports to get more polished reports


OSLdecomposition pre-release

Released 2021-02-15 on GitHub

  • Added algorithm for the automatic removal of zero-signal data points at the start and the end of measurements. This simplifies the analysis of measurements where the record extends the stimulation like most single-grain measurements. The algorithm enabled per default in RLum.OSL_correction and can be deactivated via the remove_light_off parameter
  • Added the parameter rmd_path to RLum.OSL_global_fitting() and RLum.decomposition() to enable advanced users to manually select the Rmarkdown script file for the dynamic reports
  • Corrected grammar and improved style in the Step 1 and Step 2 report (thanks to C. Schmidt)
  • Changed appearance of the Step 1 and Step 2 reports to match with the appearance of luminescence.de
  • Some minor bugfixes and spelling corrections


OSLdecomposition beta

Released 2020-11-25 on GitHub

  • First release, released for DLED 2020 (online conference about luminescence and ESR dating hosted by the MPI Leipzig, Germany)
  • Based on my master thesis but extended for the RLum functions and the automatically created HMTL reports.

© Dirk Mittelstraß, 2020 - 2026 | This website was created with Rmarkdown