apply_Crosstalk()
, calc_MoransI()
,
plot_SingleGrainDisc()
and
plot_MoranScatterplot()
were contributed by Anna-Maartje de
Boer and Luc Steinbuch (#560). An introductory example on how to use
these functions is available by executing
vignette("crosstalk")
.
calc_EED_Model()
models incomplete and heterogeneous
bleaching of mobile grains after Guibert et al. (2017). Along with the
function, the new ExampleData.MortarData
data set was
added.
fit_DoseResponseCurve()
and
plot_DoseResponseCurve()
are two new functions derived from
plot_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 flat
data.frame
that can be used for instance in combination
with 'ggplot2'
. It works only on
RLum.Data.Curve-class
and RLum.Analysis-class
objects and lists of such objects.
merge_RLum.Data.Spectrum()
: This new function allows
to merge two or more RLum.Data.Spectrum
objects in
different ways (#368, fixed in #419).
add_metadata()
, rename_metadata()
,
replace_metadata()
: These function allow to manipulate the
metadata of Risoe.BINfileData
, RLum.Analysis
and RLum.Data
objects (#480, fixed in #514, #524, #525,
#527, #534, #545).
sort_RLum()
: Allows to sort the records of
RLum.Analysis
and Risoe.BINfileData
objects
according to a given slot or info element (#528, fixed in #571 and
#576).
view()
: Provides a shortcut to the
utils::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: functions analyse_baSAR()
and
use_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 with
readxl::read_excel()
and saving them with
write.csv()
.
The plot.single
option, which was available for
several functions, sometimes under a slightly different name, has now
been renamed to plot_singlePanels
for overall consistency
and clarity. Function scale_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 of
plot_GrowthCurve()
has now been renamed to
n.MC
for consistency with other functions. Potentially
affected are also analyse_Al2O3C_ITC()
,
analyse_baSAR()
, analyse_SAR.CWOSL()
,
analyse_SAR.TL()
, calc_Huntley2006()
,
calc_Lamothe2003()
, as they may pass that option
plot_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()
and CW2pPMi()
have been renamed to
convert_CW2pHMi()
, convert_CW2pLM()
,
convert_CW2pLMi()
and convert_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 to
convert_Second2Gray()
(#498, fixed in #500).
Function PSL2Risoe.BINfileData()
has been renamed to
convert_PSL2Risoe.BINfileData()
(#555, fixed in
#556).
’vdiffr’
as dependency in
suggests
. 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 is required 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.analyse_Al2O3C_CrossTalk()
recordType
is specified and none of the records in the data set is of that type
(#487, fixed in #488).analyse_baSAR()
XLS_file
has been replaced by
CSV_file
and, as mentioned above, the function now only
accepts CSV files as input (#237, fixed in #270).recordType
passed to
get_RLum
in the additional arguments.plot.single
has been renamed to
plot_singlePanels
(#351, fixed in #408).Risoe.BINFileData
object was
provided and the argument irradiation_times
was set;
fixed.variable.names
within the method_control
argument (#521, fixed in #522).analyse_SAR.CWOSL()
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 returning NULL
; fixed.RLum.Results
object now also contains a
column for the grain (#553, fixed in #554).analyse_FadingMeasurement()
RLum.Analysis
object given as input, and
reports a message if a version older than 5 was used (#281, fixed in
#282).RLum.Analysis
input files (#283, fixed in #288).plot.single
has been renamed to
plot_singlePanels
(#351, fixed in #408).analyse_IRSAR.RF()
num_slide_windows
setting (part of the
method.control
option), thus allowing to find a balance
between computation time and quality of fit (#372, fixed in #388, #398
and #399).sequence_structure
misspecifications (#393, fixed in #394).method = "VSLIDE"
(#396, fixed in #397).method.control
has been renamed to
method_control
for consistency with all other functions in
the package (#411, fixed in #412).analyse_pIRIRSequence()
plot.single
has been renamed to
plot_singlePanels
(#351, fixed in #408).RLum.Results
object now also contains a
column for the grain (#553, fixed in #554).sequence.structure
argument contains at least one IR step (#579, fixed in #580).analyse_SAR.CWOSL()
plot.single
has been renamed to
plot_singlePanels
(#351, fixed in #408).apply_CosmicRayRamoval()
smooth_RLum
that can be passed as new argument for
method
.calc_AverageDose()
calc_CentralDose()
na.rm
is now deprecated: the function will now
always remove missing values, as otherwise the presence of any
NA
would propagate and produce unusable results (all
NA
s) or buggy behaviour (#302, fixed in #304).sigma < 1e-16
, as
allowing sigma
to become zero leads to infinities and buggy
behaviour (also fixed in #304).calc_FastRatio()
calc_FiniteMixture()
dose.scale
and pdf.scale
were
not used and have been removed (#566, fixed in #567).calc_gSGC()
calc_Huntley2006()
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 the
rprime
argument (#258, fixed in #541 and #542).mode = "extrapolation"
, which made it harder to see
where it extrapolated to (#551, fixed in #552; thanks to @SalOehl for
reporting).calc_IEU()
calc_Lamothe2003()
Ln/Tn
error after fading correction, which led to smaller
than expected errors (#96, fixed in #296).convert_RLum2Risoe.BINFileData()
incompatible types (from raw to character)
error under
particular circumstances; fixed.METADATA
are already
available but in the wrong format; fixed.extract_IrradiationTimes()
startDate
was
missing in the irradiation curve; fixed.fit_CWCurve()
confint()
failed. This has now been fixed, and in
cases of failures we report the error message received from
confint()
(#509, fixed in #510).output.terminal
has been renamed to
verbose
for consistency with other functions.method_control
argument, which can be used to control the saving of the component
contribution matrix in the RLum.Results object it returns. This is now
disabled by default: to restore the previous behaviour, add
method_control = list(export.comp.contrib.matrix = TRUE)
to
the function call (fixed in #573).fit_EmissionSpectra()
export.plot.data = TRUE
within the
method_control
argument (#569, fixed in #570 and
#573).fit_LMCurve()
method_control
argument, which can be used to control the saving of the component
contribution matrix in the RLum.Results object it returns. This is now
disabled by default: to restore the previous behaviour, add
method_control = list(export.comp.contrib.matrix = TRUE)
to
the function call (fixed in #573).get_RLum()
subset
option was used on info elements of an
RLum.Analysis
object, it would return wrong results if the
info element was not present in all records; fixed.import_Data()
character
vectors of length > 1 as input (e.g.,
different file names). Furthermore, the function received more testing
against a mixture of input formats. Therefore you can provide many
different files formats and the function will try to import them all in
one go.plot_AbanicoPlot()
z.log = TRUE
(the default); fixed.tcl
and tck
arguments via
...
was removed as they were never used internally.plot_DetPlot()
plot.single
has been renamed to
plot_singlePanels
(#351, fixed in #408).plot_DRTResults()
na.rm
was used alongside
the preheat
option but the data set contained no missing
values (#474, fixed in #475).plot_GrowthCurve()
fit_DoseResponseCurve()
and
plot_DoseResponseCurve()
. There should be no visible
user-facing changes (#319, fixed in #322)....
arguments for plotting (implementation
in plot_DoseResponseCurve()
) for legend
(turn
on/off legend) and reg_points_pch
for fine grained control
over the point shape.density_polygon
, density_polygon_col
,
density_rug
, box
as ...
arguments
to plot and add respective plot optionsNaN
values during log conversions required for
estimating the start parameters. The result was the error
object 'b.MC' not found
(#374; fixed)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).nls()
with minpack.lm::nlsLM()
as it’s more robust and can find a fit in cases where nls()
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).output.plotExtended.single
has been renamed to
plot_singlePanels
(#351, fixed in #408).RLum.Results
as output (#405, fixed in #434).fit.method = "QDR"
and
mode = "extrapolation"
(#504, fixed in #505).NumberIterations.MC
has been renamed to
n.MC
(#546, fixed in #547).plot_RLum.Analysis()
plot.single
has been renamed to
plot_singlePanels
(#351, fixed in #408).plot_RLum.Data.Curve()
norm
is now better validated so that
specifying an incorrect value returns an error instead of silently
skipping curve normalisation (#250, fixed in #263).plot_RLum.Data.Spectrum()
plot.type = "persp"
is now more consistent and doesn’t produce artefacts in the regions of
transition between colours (#371, fixed in #380).bin.rows
or
bin.cols
value was set too high or if xlim
and
ylim
were set too tight (#415, fixed in #416).read_BIN2R()
n.records
is now better supported for BIN
files v3 and v4 and doesn’t lead to a crash when used in conjunction
with the fastForward
option (#343, fixed in #344).zero_data.rm
was not correctly propagated if
the input object was provided as a list (#342, fixed in #345).METADATA
fields that are not actually read from the
BINX file in case of a ROI record are now set to NA
rather
than being assigned the value from the previous record (#336, fixed in
#360)..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).fastForward = TRUE
(#356, fixed in
#360).read_HeliosOSL2R()
read_XSYG2R()
n_records
argument now enables to control the
number of records to import, which can be useful in case the file is
faulty.scale_GammaDose()
plot_single
has been renamed to
plot_singlePanels
and was changed so that
plot_singlePanels = TRUE
will produce one plot per panel,
for consistency with other functions (#351, fixed in #408).template_DRAC()
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 call use_DRAC()
first.Cresswelletal2018
). Please ensure that the
server supports that option.trim_RLum.Data()
trim_range
argument that could lead to crashes (#460,
fixed in #461).use_DRAC()
...
arguments: version_ignore
to ignore the DRAC version check,
user
and password
to access password protected
websites.verify_SingleGrainData()
cleanup = TRUE
the result was not consistent and produced a
mixture of RLum.Results
and
RLum.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 of
RLum.Analysis
objects is provided, the result is a cleaned
list of that object. If the clean-up ends up removing everything, the
result is NULL
.cleanup = TRUE
.use_fft
that will apply an
additional Fast Discrete Fourier Transform (FFT) verification on the
data if wanted.write_R2BIN()
verbose
argument, which
can be used to suppress output to the terminal (#442, fixed in
#444).calc_Kars2008()
(deprecated since version
0.8.1) is now officially defunct, calc_Huntley2006()
should
be used instead (#252, fixed in #257).analyse_pIRIRSequence()
merge_RLum()
error. This was caused by a
regression while implementing the n_N
calculation in
plot_GrowthCurve()
. Potentially affected was also
analyse_SAR.CWOSL()
.plot = FALSE
when option plot.single = FALSE
is set but the device size
is too small. This should prevent “Figure margins too large”
errors.analyse_SAR.CWOSL()
RLum.Analysis-class
objects typically observed for single
grain data, e.g., one object contains only TL curves while all others
contain the OSL/IRSL data from the grain. As the function filters those
records automatically, it crashed because the aliquot number assignment
internally relied on the length of the object (regression, #373,
fixed)analyse_SAR.TL()
rejection.criteria
data frame (#245, fixed in #246).get_RLum()
RLum.Analysis-class
objects with the argument
null.rm = TRUE
it would remove all NULL
objects, but not elements that became list()
(empty list)
during the selection; fixed.recordType
on
RLum.Analysis-class
objects (or a list of them) containing
only a single RLum.Data-class
object, the function returned
the RLum.Data.Curve-class
object regardless of the
selection in recordType
. In other words: if a user tried
recordType = "TL"
on an RLum.Analysis-class
object that contained only a single IRSL curve, the function would still
return that single IRSL curve instead of an empty element. The reason
for this behaviour was a poor attempt to deal with NA
in
the recordType
name that led to missing values and
unexpected behaviour for a logical comparison. Now, before the subset
happens, NA
values in recordType
are converted
to "NA"
(a character), allowing us to fix the incorrect
subsetting.plot_RLum.Data.Spectrum()
lphi
and ltheta
light
direction arguments for plot.type = "persp"
.In col.unique == col : longer object length is not a multiple of shorter object length
write_R2BIN()
_
before
writing them to the BIN/BINX files..throw_warning()
and
.throw_error()
sometimes flushed the terminal with messages
if called (internally) in particular circumstances. Now we maintain a
stack of function names, so that at any time we can report correctly the
name of the function where an error or a warning is thrown (#254, fixed
in #256).This package version requires R >= 4.3
read_HeliosOSL2R()
: New import function to support the
new zero rad Helios luminescence reader and its .osl
file
format. The output is an RLum.Analysis-class
object.analyse_baSAR()
analyse_FadingMeasurements()
...
support to disable the blue trend line via
plot.trend = FALSE
analyse_portableOSL()
main
; fixed.convert_Wavelength2Energy()
calc_Huntley2006()
calc_Statistics()
calc_TLLxTxRatio()
Tx.data.background = NULL
(#129);
fixed with #130 thanks to @mcolcalc_WodaFuchs2008()
RLum.Results
objects without crashing, although if the object contains only one data
point it will stop immediately to avoid problems with nls()
(#199, fixed in #219).extract_IrradiationTimes()
fit_CWCurve()
output.path
has been removed, and a warning is
raised when attempting to use it (#207, fixed in #209).fit_EmissionSpectra()
input_scale
was not correctly propagated when
the function would self-call (#160, @mcol).fit_OSLLifeTimes()
signal.range
argument (#182, fixed by #195,
@mcol).fit_SurfaceExposure()
NA
s, which would generate unexpected warnings (#163, @mcol).RLum.Results
object (#165, @mcol).plot_AbanicoPlot()
plot.ratio
will now throw an error on
non-positive numerical values (#221, fixed in #222).interactive = TRUE
(#220, fixed in #233).plot_DetPlot()
signal.integral.max
is now enforced to be
greater than signal.integral.min
, as otherwise the
computation of the number of channels would produce Inf
(#203, fixed in #206).analyse_function = "analyse_pIRIRSequence"
(#210, fixed in
#211).plot_GrowthCurve()
n/N
) using the ratio of the two integrates. The value is
part of the output table.na.rm
has been removed: as of version 0.9.23,
it was defunct and only accepted TRUE
as valid value and
produced an error otherwise, so there is no effective change in
behaviour (#137, fixed in #214).plot_Histogram()
interactive = TRUE
(#186, fixed in #231).plot_KDE()
plot_NRt()
plot_RadialPlot()
plot_RLum.Data.Analysis()
plot_RLum.Data.Spectrum()
; before it had only basic
functionality for RLum.Data.Spectrum-class
data.plot_RLum.Data.Spectrum()
read_BIN2R()
ignore.RECTYPE
now supports numeric values, e.g., 128.
Records for this type will be ignored during import.RECTYPE = 128
will not crash anymore,
thanks for asking Anna-Maartje Boer and replying Karsten Bracht.read_PSL2R()
RLum.Analysis-class
object returned by the function
gained a new element Sequence
, which is a data frame. with
the measured sequence. This way, if the original sequence was lost, it
can still be extracted from the .psl
data..psl
file was found the function got trapped in
an infinite loop (#127); fixed with #128 (thanks to @mcol)read_XSYG2R()
read_Daybreak2R()
Risoe.BINfileData2RLum.Analysis()
.get_named_list_element()
. It just does what the names
says.