-
calc_EED_Model()
models incomplete and heterogeneous bleaching of mobile grains after Guibert et al. (2017). Along with the function, the newExampleData.MortarData
data set was added. -
fit_DoseResponseCurve()
andplot_DoseResponseCurve()
are two new functions derived fromplot_GrowthCurve()
: the first only performs the fitting of a dose-response curve, while the second plots it. This brings greater flexibility and increased speed, as plotting is now independent of fitting (#141, fixed in #318). -
melt_RLum()
: Creates a new flatdata.frame
from the objects that can be used for instance in combination with'ggplot2'
. Works only onRLum.Data.Curve-class
andRLum.Analysis-class
objects and lists of such objects. -
merge_RLum.Data.Spectrum()
: This new function allows to merge two or moreRLum.Data.Spectrum
objects in different ways (#368, fixed in #419). -
add_metadata()
,rename_metadata()
,replace_metadata()
: These function allow to manipulate the metadata ofRisoe.BINfileData
,RLum.Analysis
andRLum.Data
objects (#480, fixed in #514, #524, #525, #527, #534, #545). -
view()
: Provides a shortcut to theutils::View()
spreadsheet-like data viewer tailored to the objects in the package (#489, fixed in #490).
-
We have dropped our dependency on the
readxl
package: functionsanalyse_baSAR()
anduse_DRAC()
now do not accept XLS files anymore but CSV files instead (#237, fixed in #270). CSV files can be easily generated from XLS files by Excel or similar applications, or by reading them withreadxl::read_excel()
and saving them withwrite.csv()
. -
The
plot.single
option, which was available for several functions, sometimes under a slightly different name, has now been renamed toplot_singlePanels
for overall consistency and clarity. Functionscale_GammaDose()
used that option but gave it the opposite meaning: now also this function conforms to the rest of the package. The use of the older names is now deprecated and will produce a warning (#351, fixed in #408). -
The
NumberIterations.MC
option ofplot_GrowthCurve()
has now been renamed ton.MC
for consistency with other functions. Potentially affected are alsoanalyse_Al2O3C_ITC()
,analyse_baSAR()
,analyse_SAR.CWOSL()
,analyse_SAR.TL()
,calc_Huntley2006()
,calc_Lamothe2003()
, as they may pass that optionplot_GrowthCurve()
via their...
argument. The use of the older name is now deprecated and will produce a warning (#546, fixed in #547).
-
Function
Analyse_SAR.OSLdata()
is now officially deprecated,analyse_SAR.CWOSL()
should be used instead (#216, fixed in #264). -
Functions
CW2pHMi()
,CW2pLM()
,CW2pLMi()
andCW2pPMi()
have been renamed toconvert_CW2pHMi()
,convert_CW2pLM()
,convert_CW2pLMi()
andconvert_CW2pPMi()
, respectively. The use of the older names is now deprecated and will produce a warning (#499, fixed in #503). -
Function
Second2Gray()
has been renamed toconvert_Second2Gray()
(#498, fixed in #500).
- We have added package
’vdiffr’
as dependency insuggests
. The package enables us to automatically verify the consistency of plot outputs generated by package functions against reference figures captured earlier. Although this new dependency does not have any user-visible impact, it becomes necessary (means already installed) when building’Luminescence’
from source. The primary advantage lies in the developer’s domain, as it ensures that modifications to functions do not inadvertently alter plot outputs.
- The function doesn’t crash anymore if option
recordType
is specified and none of the records in the data set is of that type (#487, fixed in #488).
- Argument
XLS_file
has been replaced byCSV_file
and, as mentioned above, the function now only accepts CSV files as input (#237, fixed in #270). - Add support for
recordType
passed toget_RLum
in the additional arguments. - Option
plot.single
has been renamed toplot_singlePanels
(#351, fixed in #408). - The function crashed if the number of MCMC iterations was set equal to the thinning interval; on the other hand, we saw errors reported from JAGS if the number of MCMC iterations was not at least double the thinning interval. To address this, we slightly retouched our automatic setting of the thinning interval (which was problematic only if the number of MCMC iterations was extremely low); on the other hand, if a user sets a thinning interval that is too high, we now reset it to a lower value and raise a warning (#407, fixed in #409).
- The function crashed if a
Risoe.BINFileData-class
object was provided with and the argumentirradiation_times
was set; fixed. - The function was supposed to remove non-OSL curves from the dataset, well it almost never did; fixed.
- The function is more robust against input that may have been subset inconsistently (#517, fixed in #518).
- The function doesn’t crash but reports more helpful messages in case
the user overrides the default set of monitored variables using
variable.names
within themethod_control
argument (#521, fixed in #522).
- The function crashed for a list input that led to
NULL
for various reasons (e.g., unsuitable set of curves). Here the self-call attempted to extract information from the results that did not exist in the first place instead of returningNULL
; fixed.
- The function now checks for the version of the BIN-file that
originated the
RLum.Analysis
object given as input, and reports a message if a version older than 5 was used (#281, fixed in #282). - The function doesn’t crash anymore on some
RLum.Analysis
input files (#283, fixed in #288). - Option
plot.single
has been renamed toplot_singlePanels
(#351, fixed in #408). - The function doesn’t crash anymore if no record is left after removal of records with negative time since irradiation (#454, fixed in #456).
- The performance of this function has been improved for the “SLIDE” and
“VSLIDE” methods, thanks both to tweaks in the C++ implementation of
the sliding algorithm and in how that is managed on the R side. In
particular, the default number of sliding windows tested in the
algorithm has been reduced from 10 to 3: this value is no longer
hardcoded, but can be tuned through the new
num_slide_windows
setting (part of themethod.control
option), thus allowing to find a balance between computation time and quality of fit (#372, fixed in #388, #398 and #399). - The function is more robust against
sequence_structure
misspecifications (#393, fixed in #394). - Some data preparation steps where not correctly applied for
method = "VSLIDE"
(#396, fixed in #397). - Option
method.control
has been renamed tomethod_control
for consistency with all other functions in the package (#411, fixed in #412).
- Option
plot.single
has been renamed toplot_singlePanels
(#351, fixed in #408).
- Option
plot.single
has been renamed toplot_singlePanels
(#351, fixed in #408). - The function shifted the curves correctly in cases where the first channel is zero and a log-transformation on the x-axis is requested (#580, fixed in #531).
- Support has been added for the internal function
smooth_RLum
that can be passed as new argument formethod
.
- The function crashed if the data contained non-positive values: now these are removed before proceeding (#532, fixed in #533).
- Argument
na.rm
is now deprecated: the function will now always remove missing values, as otherwise the presence of anyNA
would propagate and produce unusable results (allNA
s) or buggy behaviour (#302, fixed in #304). - The function stops the fixed-point iteration for the computation of
the profile log-likelihood as soon as
sigma < 1e-16
, as allowingsigma
to become zero leads to infinities and buggy behaviour (also fixed in #304).
- A number of crashes related to input validation have been fixed (#471, fixed in #472).
- The function crashed if the data contained negative errors: to avoid this, we now take the absolute values of errors (#479, fixed in #481).
- Some crashes in case of model misspecification have been solved (#538, fixed in #539).
- Some details in the implementation of the function have been
optimized, and now it is much faster than before. As part of this, we
have changed the default setting of the
rprime
vector that is used in the calculation of the natural dose response and the field saturation, so that more points are concentrated in the bulk of the distribution: this previously depended incorrectly on the number of Monte Carlo iterations requested, so this change brings an additional speed boost. The default setting can be overridden via therprime
argument (#258, fixed in #541 and #542). - Fitting the “GOK” model on the unfaded data failed when the “EXP” model we use to find a good starting point failed: in such cases, we try again using the simulated fit (#549, fixed in #500; thanks to @SalOehl for reporting and providing data to reproduce the error).
- The natural/simulated curve was not plotted in the negative quadrant
for
mode = "extrapolation"
, which made it harder to see where it extrapolated to (#551, fixed in #552; thanks to @SalOehl for reporting).
- The code of this function has been consolidated to avoid duplication and make its debugging easier: this has uncovered a small coding error and also led to some speed up (#429, fixed in #430, #431 and #432).
- Some crashes in the function have been solved (#424, fixed in #433).
- We addressed a long-standing issue regarding the calculation of the
Ln/Tn
error after fading correction, which led to smaller than expected errors (#96, fixed in #296).
- The function could crash with a
incompatible types (from raw to character)
error under particular circumstances; fixed. - The function would also fail in edge cases where different objects are
mixed so that certain fields for
METADATA
are already available, however, in the wrong format; fixed
- In some circumstances the function failed to update an existing BIN/BINX file due to an incorrect way of subsetting an intermediate data frame of results (#445, fixed in #446).
- If the info element
startDate
was missing an in the irradiation curve the function crashed unexpectedly; fixed.
- The function crashed if the computation of the confidence intervals
done in
confint()
failed. This has now been fixed, and in cases of failures we report the error message received fromconfint()
(#509, fixed in #510).
- If
get_RLum()
withsubset
was used on info objects of anRLum.Analysis-class
object it would return wrong results if the info element was not present in all records; fixed.
- The function automatically determines the available import functions and ensures that formats supported by the package are tested and used.
- A minor change in the code enables the support of
character
vector of length > 1 as input (e.g., different file names). Further, the function got tested against a mixture of input formats. Means, you can provide many different files formats and they function will try to import them all in one go.
- If negative values were provided, the function sometimes produced
wrong plots for
z.log = TRUE
(the default); fixed. - Remove support for
tcl
andtck
arguments via...
, they were never used internally.
- Option
plot.single
has been renamed toplot_singlePanels
(#351, fixed in #408).
- The function crashed if option
na.rm
was used alongside thepreheat
option but the data set contained no missing values (#474, fixed in #475).
- The function is now implemented as a wrapper around
fit_DoseResponseCurve()
andplot_DoseResponseCurve()
. There should be no visible user-facing changes (#319, fixed in #322). - Support new
...
arguments for plotting (implementation inplot_DoseResponseCurve()
) forlegend
(turn on/off legend) andreg_points_pch
for fine grained control over the point shape. - Add
density_polygon
,density_pologyon_col
,density_rug
,box
as...
arguments to plot and add respective plot options - The function crashed for single grain data that sometimes cause a lot
of
NaN
values during log conversions required for estimating the start parameters. The result was the errorobject 'b.MC' not found
(#374; fixed) - For the non-linear choices of
fit.method
("EXP+LIN"
,"EXP+EXP"
,"GOK"
and"LambertW"
), the function could get stuck in an endless loop when the number of parameters was larger than or equal to the number of data points. This is now checked, and in those cases the method is changed to"LIN"
(#381, fixed in #465). - We replaced
nls()
withminpack.lm::nlsLM()
as it’s more robust and can find a fit in cases wherenls()
would fail. Please keep in mind that it does not mean that fit results in those cases make any sense, it just helps to avoid uncontained events in the R session (addresses #381). - Option
output.plotExtended.single
has been renamed toplot_singlePanels
(#351, fixed in #408). - The function now supports a list of data frames as input, in which
case it calls itself on each element of the list and produces a list
of
RLum.Results
as output (#405, fixed in #434). - The function reported negative dose values in the MC runs plot when
using
fit.method = "QDR"
andmode = "extrapolation"
(#504, fixed in #505). - Argument
NumberIterations.MC
has been renamed ton.MC
(#546, fixed in #547).
- Option
plot.single
has been renamed toplot_singlePanels
(#351, fixed in #408).
- Argument
norm
is now better validated so that specifying an incorrect value returns an error instead of silently skipping curve normalisation (#250, fixed in #263).
- The gradient between colours when
plot.type = "persp"
is now more consistent and doesn’t produce artefacts in the regions of transition between colours (#371, fixed in #380). - The function would crash if the
bin.rows
orbin.cols
value was set too high or ifxlim
andylim
were set too tight (#415, fixed in #416).
- The function is now much faster: we have recorded an overall improvement of over 60% on a 46M file, with potentially bigger time savings for larger files (#298, fixed in #333, #355 and #360).
- Argument
n.records
is now better supported for BIN files v3 and v4 and doesn’t lead to a crash when used in conjunction with thefastForward
option (#343, fixed in #344). - Argument
zero_data.rm
was not correctly propagated if the input object was provided as a list (#342, fixed in #345). - The
METADATA
fields that are not actually read from the BINX file in case of a ROI record are now set toNA
rather than being assigned the value from the previous record (#336, fixed in #360). - The
.RESERVED
slot is now kept in sync with the rest of the object when records are dropped from the input BIN/BINX file (#337, fixed in #348). - The function doesn’t crash anymore when reading a file that contains a record with an unrecognised version after other records with a valid version have been read (#352, fixed in #353).
- The function doesn’t crash anymore when reading a file that contains a
ROI record while using
fastForward = TRUE
(#356, fixed in #360).
- If the function encounters problems in the provided list of files, it shows a more relaxed handling; throws an error but continues reading.
- The new
n_records
argument now enables to control the number of records to import, which can be useful in case the file is faulty. - The function sometimes struggled with the import if only a directory was provided; fixed.
- The function truncated the terminal output under certain circumstances; fixed.
- Option
plot_single
has been renamed toplot_singlePanels
and was changed so thatplot_singlePanels = TRUE
will produce one plot per panel, as it would happen for other functions (#351, fixed in #408).
- The function gained a new argument
file_input
that enables the creating of a DRAC template based on an existing DRAC CSV file. This way, already available DRAC files can be conveniently modified without having to calluse_DRAC()
first. - The template contained a couple of minor mistakes that got fixed along with a more strict enforcement of the class of each field, which is now set as an attribute; the change should have no user-visible effect.
- The function now supports the conversion factors by Cresswell et
al. (2018) (
Cresswelletal2018
). Please ensure that the server supports that option.
- The function has been made more robust against misspecifications of
its
trim_range
argument that could lead to crashes (#460, fixed in #461).
- Support for DRAC v1.1 XLS/XLSX files has been dropped, users should use CSV files according to the DRAC v1.2 CSV template.
- The function gained support for three new
...
arguments:version_ignore
to ignore the DRAC version check,user
andpassword
to access password protected websites. - The identifiers submitted to the DRAC server are now better randomized to to guarantee more confidentiality of the data transmitted (#435, fixed in #438).
- Potentially breaking old code!: if
cleanup = TRUE
the result was not consistent and produced a mixture ofRLum.Results
andRLum.Analysis
/Risoe.BINFileData
objects in particular when run over a list, this was not what stated in the manual. Now the function indeed cleans up the object, hence if a list ofRLum.Analysis
objects is provided, the result is a cleaned list of that object. If the clean-up means that the everything was removed, the result isNULL
. * Improve warning messages; it was indeed not very intelligible. - The function doesn’t crash anymore when applied to an empty list (#365, fixed in #366).
- Silence the very talkative terminal output even if nothing was removed
from a record for
cleanup = TRUE
. - The function now provides better terminal feedback if the selection results in an empty record.
- Add a new logical argument
use_fft
that will apply an additional Fast Discrete Fourier Transform (FFT) verification on the data if wanted.
- The function now supports the
verbose
argument, which can be used to suppress output to the terminal (#442, fixed in #444).
get_DRAC_references()
now works also on aDRAC.list
got updated references.