Repository navigation
v1.1.1 (CRAN)
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) andSecond2Gray()(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()andconvert_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
NULLvalue
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_argumentas a numeric
vector of length 3, as was already documented (#930).
analyse_SAR.CWOSL()
- The function crashed if any of the curves had
NAas itsrecordType
(#867).
apply_CosmicRayRemoval()
-
The
methodargument ofsmooth_RLum()was not reachable via...
as theapply_CosmicRayRemoval()already has an argument called
method. Now the...argument is calledmethod_smooth_RLumand
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.MCargument, 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 forn.MC = 10000). This
regression was introduced in version 1.0.0 (#867).
calc_MaxDose()
- The function crashed if
sigmabwas set to a very small value (#898).
calc_MinDose()
-
The function crashed when bootstrapping with
bs.M = 1. Now the
bs.Mparameter 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
NAvalues (#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.rawcolumn to
store the calculated De value computed by the fitting function “as
is”, without setting meaningless results toNA. TheDeand
.De.rawcolumns differ only formode = "interpolation", where the
first sets the De toNAif 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
NAvalue 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$Dedata frame are now reported in a
different order; an additional “Mode” column reports the value of the
modeargument; 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 to0threw the correct warning
but actually did nothing (38e4324).
fit_OSLLifeTimes()
- The function ensures that the
signal_rangeargument doesn’t contain
negative values instead of crashing (#896).
get_RLum()
-
The function doesn’t crash anymore on
RLum.Analysisobjects if using
therecord.idargument removes all available records (#873). -
An internal optimization increased the performance of the function.
The difference is not perceivable on single calls toget_RLum(), but
the change brings a visible speed up whenmerge_RLum()is called
over a sufficiently large number ofRLum.Analysisobjects (#875).
merge_Risoe.BINfileData()
- The function gained argument
verboseto allow disabling the output
fromread_BIN2R()andwrite_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
frameargument is now respected also when the plot is rotated
(#863). -
The weighted median is computed correctly when
summary = "median"
andsummary.method = "weighted"are used (#905).
plot_DoseResponseCurve()
-
We added support for the
loggraphical 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 asanalyse_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
cexvalues (#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
cexvalues
(#879). -
The weighted median is computed correctly when
summary = "median"
andsummary.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
cexsettings
(#854).
plot_RLum.Data.Curve()
- The function gained a new logical argument
interactivethat enables
interactive plotting of curves usingplotly::plot_ly(). It requires
the suggested package'plotly'to be installed (e4746ea).
plot_RLum.Data.Spectrum()
-
Types
imageandcontourgained more control of the contour line
labels through the argumentlabcex. -
For plot types
"image"and"multiple.lines"the...logical
argumentlegendwas added. -
Plot type
"image"further gained a legend with support through...
forlegend.pos,legend.horizandn_breaksto control the number
of colours in the graphic.
read_BIN2R()
- The
FNAMEmetadata 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 settingmethod = "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