Skip to content

v1.1.1 (CRAN)

Choose a tag to compare

@mcol mcol released this 11 Sep 11:11
· 1500 commits to master since this release
v1.1.1
74b8ae2

Changes in version 1.1.1 (2025-09-11)

See also the write-up for this release on the REPLAY website.

New functions

  • correct_PMTLinearity(): A helper function to correct luminescence
    signals measured with a PMT for count linearity (#920).

Removed functions and deprecations

  • Functions calc_Kars2008() (defunct since 0.9.26),
    Analyse_SAR.OSLdata() (since 1.0.0), PSL2Risoe.BINfileData()
    (since 1.0.0) and Second2Gray() (since 1.0.0) have been removed from
    the package. Their functionality can be found in functions
    calc_Huntley2006(), analyse_SAR.CWOSL(),
    convert_PSL2Risoe.BINfileData() and convert_Second2Gray(),
    respectively.

  • Function get_Risoe.BINfileData() has been removed as it was not used
    and provided no benefits to the user (#945).

Bugfixes and changes

add_metadata<-()

  • The function throws an error if trying to assign a NULL value
    instead of silently ignoring it (#946).

analyse_Al2O3C_ITC()

  • The function returns early if the fitting of the dose response curve
    fails (#979).

analyse_Al2O3C_Measurement()

  • The function allows to specify the cross_talk_argument as a numeric
    vector of length 3, as was already documented (#930).

analyse_SAR.CWOSL()

  • The function crashed if any of the curves had NA as its recordType
    (#867).

apply_CosmicRayRemoval()

  • The method argument of smooth_RLum() was not reachable via ...
    as the apply_CosmicRayRemoval() already has an argument called
    method. Now the ... argument is called method_smooth_RLum and
    works as expected (9b27467).

  • The function crashed if method = “Pych”andMARGIN = 1` were
    specified. The function now better validates its inputs and no longer
    returns invisibly but normally (#987).

calc_AliquotSize()

  • The legend text now scales better at non-default cex settings (#849).

calc_Huntley2006()

  • If the user set the n.MC argument, this was also used in the fitting
    of the dose response curve. This was not the expected behaviour, and
    resulted in poor performance (a 2x slowdown for n.MC = 10000). This
    regression was introduced in version 1.0.0 (#867).

calc_MaxDose()

  • The function crashed if sigmab was set to a very small value (#898).

calc_MinDose()

  • The function crashed when bootstrapping with bs.M = 1. Now the
    bs.M parameter is silently reset to 2 in that case, although such
    low values are discouraged as they may trigger a warning during loess
    fitting (#900).

  • The function crashed when all rows in the input data set contained
    NA values (#915).

calc_Statistics()

  • The computation of the weighted median is now correct, while before it
    corresponded to the simple (unweighted) median (#905).

fit_CWCurve()

  • The function hanged on particularly small datasets as it tried to fit
    too many components for the available data (#953).

fit_DoseResponseCurve()

  • The object returned now contains an additional .De.raw column to
    store the calculated De value computed by the fitting function “as
    is”, without setting meaningless results to NA. The De and
    .De.raw columns differ only for mode = "interpolation", where the
    first sets the De to NA if negative, while the latter doesn’t. It is
    then up to the user to decide what to do with those values, bearing in
    mind that they may be arbitrary when negative (#957).

  • The message reported for fit.method = "QDR" now states correctly
    whether the fit succeeded or failed (#961).

  • The computation of De.MC, De.Error and HPDI for
    mode = "interpolation" has been modified to account correctly for
    possible negative De values resulting from the fit (#963).

  • Previously, a single NA value in the Monte Carlo results prevented
    the computation of Highest Density Intervals (HPDI). This limitation
    has been removed, and now HPDIs are reported in more cases (#976).

  • The columns of the results$De data frame are now reported in a
    different order; an additional “Mode” column reports the value of the
    mode argument; columns meant for internal use have been moved to the
    end and their names are now prefixed with . (#974).

fit_LMCurve()

  • The automatic correction of the x-axis limits when log = "x" is
    specified and the lowest value is set to 0 threw the correct warning
    but actually did nothing (38e4324).

fit_OSLLifeTimes()

  • The function ensures that the signal_range argument doesn’t contain
    negative values instead of crashing (#896).

get_RLum()

  • The function doesn’t crash anymore on RLum.Analysis objects if using
    the record.id argument removes all available records (#873).

  • An internal optimization increased the performance of the function.
    The difference is not perceivable on single calls to get_RLum(), but
    the change brings a visible speed up when merge_RLum() is called
    over a sufficiently large number of RLum.Analysis objects (#875).

merge_Risoe.BINfileData()

  • The function gained argument verbose to allow disabling the output
    from read_BIN2R() and write_R2BIN() (#950).

plot_AbanicoPlot()

  • The positioning of the y-axis label has been improved to be centred
    around the zero line (#847). The z-axis tickmarks and labels are
    better drawn at non-default cex values (#865).

  • The minor grid lines were drawn incorrectly in a rotated plot (#849).

  • Some plot elements didn’t scale correctly at non-default cex values
    (#861, #879).

  • The frame argument is now respected also when the plot is rotated
    (#863).

  • The weighted median is computed correctly when summary = "median"
    and summary.method = "weighted" are used (#905).

plot_DoseResponseCurve()

  • We added support for the log graphical parameter, which can be used
    if the fit was obtained with mode other than "extrapolation" (#820).

  • The normal curve drawn as part of the histogram plot could appear very
    jagged or even as a straight line, as it could happen that too few
    points were actually used when drawing the curve (#843).

  • The legend symbols did not match anymore the plotted regeneration/dose
    points. This also affected functions such as analyse_SAR.CWOSL() and
    analyse_pIRIRSequence() (9ba54e6).

  • The legend positioning can now be controlled via the ... argument
    legend.pos (#959).

plot_DRCSummary()

  • The dose-response curve is now plotted as expected, after a regression
    in 1.1.0 caused the function to produce an empty plot (#969).

plot_DRTResults()

  • Points didn’t scale correctly at non-default cex values (#879).

  • Option summary = "weighted$median" is now officially supported
    (#905).

plot_Histogram()

  • Option summary = "median.weighted" is now officially supported
    (#905).

plot_KDE()

  • Outlier points didn’t scale correctly at non-default cex values
    (#879).

  • The weighted median is computed correctly when summary = "median"
    and summary.method = "weighted" are used (#905).

plot_RadialPlot()

  • Option summary = "median.weighted" is now officially supported
    (#905).

plot_Risoe.BINfileData()

  • Input arguments are validate more strictly to avoid unexpected crashes
    in case of misspecification (#964).

  • The x-axis label for TL curves now reports temperature rather than
    time, consistently with the data shown (#971).

plot_RLum.Analysis()

  • The legend text now scales better at non-default cex settings
    (#854).

plot_RLum.Data.Curve()

  • The function gained a new logical argument interactive that enables
    interactive plotting of curves using plotly::plot_ly(). It requires
    the suggested package 'plotly' to be installed (e4746ea).

plot_RLum.Data.Spectrum()

  • Types image and contour gained more control of the contour line
    labels through the argument labcex.

  • For plot types "image" and "multiple.lines" the ... logical
    argument legend was added.

  • Plot type "image" further gained a legend with support through ...
    for legend.pos, legend.horiz and n_breaks to control the number
    of colours in the graphic.

read_BIN2R()

  • The FNAME metadata field is no longer left empty if the BIN-file
    didn’t specify one, but it’s populated with the BIN-file name without
    extension. This is the behaviour that was present up to version
    0.9.26, but version 1.0.0 had regressed it (#928).

read_XSYG2R()

  • Add support for the new function correct_PMTLinearity() (#920).

smooth_RLum()

  • Add support for the Poisson smoother of Carter et al. (2018), which
    can be accessed by setting method = "Carter_etal_2018". This is
    helpful to ensure that the dark-background counts signals measured by
    a photomultiplier tube follow a Poisson statistic, and smooths
    non-conforming values according to an average over four neighbours
    (#921).

trim_RLum.Data()

  • The function crashed if both values specified in the trim_range
    argument exceeded the number of channels available (#871).

use_DRAC()

  • Report the message produced by the DRAC server more reliably in case
    of error (#982).

What's Changed

  • Remove defunct functions calc_Kars2008() and Analyse_SAR.OSLdata() by @mcol in #841
  • Add support for log transformation in plot_DoseResponseCurve() by @mcol in #842
  • Make normal curve not appear jagged in plot_DoseResponseCurve() by @mcol in #844
  • Use uniformly-spaced points when log = "x" in plot_DoseResponseCurve() by @mcol in #846
  • Ensure that the density polygon is closed correctly in plot_DoseResponseCurve() by @mcol in #848
  • Add more graphical snapshot tests by @mcol in #850
  • Fix the cex setting in legend() of calc_AliquotSize() by @mcol in #851
  • Add some snapshot and graphical snapshot tests by @mcol in #853
  • Fix the cex setting in legend() of plot_RLum.Analysis(). by @mcol in #855
  • Add more flexibility to the message reported by .throw_message() by @mcol in #856
  • Improve positioning of y-axis label in plot_AbanicoPlot() by @mcol in #858
  • Fix incorrect drawing of the minor grid lines on a rotated plot by @mcol in #860
  • Respect the cex in plot_AbanicoPlot() by @mcol in #862
  • Support the frame argument also for a rotated Abanico plot. by @mcol in #864
  • Improve z-axis label positioning and tickmarks in plot_AbanicoPlot() by @mcol in #866
  • Fix performance regression in calc_Huntley2006() if n.MC is set by @mcol in #868
  • Don't crash in analyse_SAR.CWOSL() if recordType is NA by @mcol in #870
  • Don't crash if both trim_range values exceed the number of channels by @mcol in #872
  • Don't crash if record.id removes all records by @mcol in #874
  • Vectorize translation to regular expression in get_RLum() by @mcol in #876
  • Fix z-axis ticks and labels if log.z = FALSE by @mcol in #878
  • Use relative values in the cex argument of points() by @mcol in #880
  • Remove defunct functions PSL2Risoe.BINfileData() and Second2Gray() by @mcol in #881
  • Improve validation against a single-column data frame by @mcol in #883
  • Summarize the parameters of interest in fit_IsothermalHolding() by @mcol in #884
  • Improve validation against a list of 1-column data frames by @mcol in #886
  • Improve validation against a data frame with non-numeric fields by @mcol in #888
  • Improve validation against a data.frame with only a character column by @mcol in #890
  • Improve validation against data frames with only NA values by @mcol in #892
  • Improve validation against lists of length 2 by @mcol in #894
  • Cosmetic improvements to .warningCatcher() by @mcol in #895
  • Don't crash in fit_OSLLifeTimes() if signal_range has negatives values by @mcol in #897
  • Remove any non-finite values from the profile in calc_MinDose() by @mcol in #899
  • Fix crash by ensuring that bs.M is at least 2 in calc_MinDose() by @mcol in #901
  • Return the validated value from .validate_[positive|logical]_scalar() by @mcol in #902
  • Improve validation against data frames with an NA column by @mcol in #904
  • Make calc_Statistics() compute the weighted median correctly by @mcol in #906
  • Don't assume that class always returns a single value in .rm_nonRLum() by @mcol in #908
  • Improve validation against a numeric vector with NaN by @mcol in #910
  • Improve validation against an empty numeric vector by @mcol in #913
  • Improve validation against a numeric vector with Inf by @mcol in #914
  • Check that after removal of NAs there is still data in calc_MinDose() by @mcol in #916
  • Improve validation against data frame with first column of NAs by @mcol in #918
  • add correct_PMTLinearity() by @RLumSK in #920
  • Don't crash in .validate_positive_scalar(Inf, int = TRUE) by @mcol in #923
  • Improve validation against data frame with a NA column by @mcol in #925
  • Improve validation against a 0-row data frame by @mcol in #927
  • Don't leave FNAME empty in read_BIN2R() by @mcol in #929
  • Fix validation of cross_talk_correction in analyse_Al2O3C_Measurement() by @mcol in #931
  • Improve validation against a 1-row matrix by @mcol in #933
  • Improve validation against 0-row or 0-col matrices by @mcol in #935
  • Compute the correct dimension in report_RLum() by @mcol in #939
  • Improve validation against a list containing an empty lists by @mcol in #941
  • Implement the Poisson smoother of Carter et al. (2018) by @mcol in #937
  • Improve validation against an empty RLum.Analysis object by @mcol in #943
  • Restore the docs for the RLum.* classes in the pdf file by @mcol in #944
  • Don't allow assigning NULL in add_metadata() and rename_metadata() by @mcol in #947
  • Remove get_Risoe.BINfileData() and the corresponding generic by @mcol in #949
  • Add snapshot tests for the merge_*() functions by @mcol in #951
  • Add the verbose argument to merge_Risoe.BINfileData() by @mcol in #952
  • Cap the maximum number of components to be fitted in fit_CWCurve() by @mcol in #954
  • Introduce the default value for NULL %||% operator and start using it by @mcol in #956
  • Return a De.raw field from fit_DoseResponseCurve() by @mcol in #958
  • Add option to control the legend position in plot_DoseResponseCurve() by @mcol in #960
  • Report correctly the fit outcome for QDR in fit_DoseResponseCurve() by @mcol in #962
  • Add a workaround for R-devel failure by @mcol in #968
  • Improve validation in plot_RisoeBINfileData() by @mcol in #965
  • Add more graphical snapshots by @mcol in #966
  • Fix regression in drawing the dose-response curve in plot_DRCSummary() by @mcol in #970
  • Fix x-axis label for TL plots in plot_Risoe.BINfileData() by @mcol in #972
  • Try to get debug info from coverage runs by @mcol in #973
  • Correct computation of De.MC, De.error and HPDI for interpolation mode in fit_DoseResponseCurve() by @mcol in #975
  • Compute the HPDIs in more cases in fit_DoseResponseCurve() by @mcol in #977
  • More snapshot and graphical snapshot tests by @mcol in #978
  • Return early from analyse_Al2O3C_ITC() if fitting the GC curves fails by @mcol in #980
  • Reorder and rename fields in object returned by fit_DoseResponseCurve() by @mcol in #981
  • Extract the error field more reliably in use_DRAC() by @mcol in #983
  • Operate on logged values in .smoothing() for method = Carter_etal_2018 by @mcol in #986
  • Fix crash in apply_CosmicRayRemoval() by @mcol in #988

Full Changelog: v1.1.0...v1.1.1