Changes in version 1.0.0 (2024-02-21)
New functions
-
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 executingvignette("crosstalk")
. -
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
that can be used for instance
in combination with'ggplot2'
. It 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 of
Risoe.BINfileData
,RLum.Analysis
andRLum.Data
objects (#480, fixed
in #514, #524, #525, #527, #534, #545). -
sort_RLum()
: Allows to sort the records ofRLum.Analysis
and
Risoe.BINfileData
objects according to a given slot or info element
(#528, fixed in #571 and #576). -
view()
: Provides a shortcut to theutils::View()
spreadsheet-like data
viewer tailored to the objects in the package (#489, fixed in #490).
Breaking changes
-
We have dropped our dependency on the
readxl
package: functions
analyse_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 with
readxl::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 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 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).
Renamed functions and deprecations
-
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). -
Function
PSL2Risoe.BINfileData()
has been renamed toconvert_PSL2Risoe.BINfileData()
(#555, fixed in #556).
New dependencies
- 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 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.
Bugfixes
analyse_Al2O3C_CrossTalk()
- 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).
analyse_baSAR()
- 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
object was provided and the
argumentirradiation_times
was set; fixed. - The function was supposed to remove non-OSL curves from the dataset, but
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 usingvariable.names
within themethod_control
argument (#521, fixed in #522).
analyse_SAR.CWOSL()
- 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 produced
RLum.Results
object now also contains a column for the
grain (#553, fixed in #554).
analyse_FadingMeasurement()
- 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 function has been made more robust in the calculation of rho' (#558,
fixed in #559).
analyse_IRSAR.RF()
- 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 newnum_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).
analyse_pIRIRSequence()
- Option
plot.single
has been renamed toplot_singlePanels
(#351, fixed
in #408). - The produced
RLum.Results
object now also contains a column for the
grain (#553, fixed in #554). - The function now checks that the
sequence.structure
argument contains
at least one IR step (#579, fixed in #580).
analyse_SAR.CWOSL()
- 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).
apply_CosmicRayRamoval()
- Support has been added for the internal function
smooth_RLum
that can
be passed as new argument formethod
.
calc_AverageDose()
- The function crashed if the data contained non-positive values: now these
are removed before proceeding (#532, fixed in #533).
calc_CentralDose()
- 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 assigma < 1e-16
, as allowingsigma
to
become zero leads to infinities and buggy behaviour (also fixed in #304).
calc_FastRatio()
calc_FiniteMixture()
calc_gSGC()
- The function crashed if the data contained negative errors: to avoid this,
we now take the absolute values of errors (#479, fixed in #481).
calc_Huntley2006()
- 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 therprime
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).
calc_IEU()
- 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).
calc_Lamothe2003()
- 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).
convert_RLum2Risoe.BINFileData()
- The function could crash with a
incompatible types (from raw to character)
error under particular circumstances; fixed. - The function would fail in edge cases where different objects are mixed
so that certain fields forMETADATA
are already available but in the wrong
format; fixed.
extract_IrradiationTimes()
- 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). - The function crashed if the info element
startDate
was missing in the
irradiation curve; fixed.
fit_CWCurve()
- The function crashed if the computation of the confidence intervals done
inconfint()
failed. This has now been fixed, and in cases of failures we
report the error message received fromconfint()
(#509, fixed in #510). - Argument
output.terminal
has been renamed toverbose
for consistency
with other functions. - The function has gained the new
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, addmethod_control = list(export.comp.contrib.matrix = TRUE)
to
the function call (fixed in #573). - In case of plot failure the function now is able to recover gracefully and
produce an output object (#574, fixed in #578).
fit_EmissionSpectra()
- The function can now return a data frame with the values of all curves
plotted, so that it's much easier to produce alternative plots, by setting
optionexport.plot.data = TRUE
within themethod_control
argument (#569,
fixed in #570 and #573).
fit_LMCurve()
- The function has gained the new
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, addmethod_control = list(export.comp.contrib.matrix = TRUE)
to
the function call (fixed in #573). - In case of plot failure the function now is able to recover gracefully and
produce an output object (#574, fixed in #578; thanks to @LumTKO for
reporting).
get_RLum()
- If the
subset
option was used on info elements of anRLum.Analysis
object, it would return wrong results if the info element was not present in
all records; fixed.
import_Data()
- 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
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()
- If negative values were provided, the function sometimes produced wrong plots
forz.log = TRUE
(the default); fixed. - Support for
tcl
andtck
arguments via...
was removed as they were
never used internally.
plot_DetPlot()
plot_DRTResults()
- The function crashed if option
na.rm
was used alongside thepreheat
option but the data set contained no missing values (#474, fixed in #475).
plot_GrowthCurve()
- 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()
) for
legend
(turn on/off legend) andreg_points_pch
for fine grained control over the point shape. - Add
density_polygon
,density_polygon_col
,density_rug
,box
as...
arguments to plot and add respective plot options - The function crashed for single grain data that sometimes caused 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 ofRLum.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).
plot_RLum.Analysis()
plot_RLum.Data.Curve()
- 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).
plot_RLum.Data.Spectrum()
- 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).
read_BIN2R()
- 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 usingfastForward = TRUE
(#356, fixed in #360).
read_HeliosOSL2R()
- If the function encounters problems in the provided list of files, it shows
a more relaxed handling; throws an error but continues reading.
read_XSYG2R()
- 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 failed to import files when a directory name was provided;
this was a regression introduced in v0.9.25 and it has now been fixed. - The function truncated the terminal output under certain circumstances; fixed.
scale_GammaDose()
- Option
plot_single
has been renamed toplot_singlePanels
and was changed
so thatplot_singlePanels = TRUE
will produce one plot per panel, for
consistency with other functions (#351, fixed in #408).
template_DRAC()
- 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.
trim_RLum.Data()
- The function has been made more robust against misspecifications of its
trim_range
argument that could lead to crashes (#460, fixed in #461).
use_DRAC()
- 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).
verify_SingleGrainData()
- Potentially breaking old code!: if
cleanup = TRUE
the result was not
consistent and produced a mixture ofRLum.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 ofRLum.Analysis
objects is provided, the
result is a cleaned list of that object. If the clean-up ends up removing
everything, the result isNULL
. - 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 forcleanup = 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.
write_R2BIN()
- The function now supports the
verbose
argument, which can be used to
suppress output to the terminal (#442, fixed in #444).
What's Changed
- Post release version bump by @mcol in #240
- Don't use the bbmle::profile() try_harder option in calc_MinDose() by @mcol in #241
- Remove the windows-2019 (oldrel) instance from the CI actions by @mcol in #242
- Add the expect_snapshot_RLum() test helper and start using it by @mcol in #244
- Correct the rejection.criteria data frame created by analyse_SAR.TL() by @mcol in #246
- Fix crashes in analyse_SAR.TL() by @mcol in #247
- Silence notes raised by R CMD check by @mcol in #249
- Use add = TRUE with on.exit() by @mcol in #255
- Replace the implementation of .throw_error() and .throw_warning() by @mcol in #256
- Set calc_Kars2008() as defunct by @mcol in #257
- Improve validation of choices for character arguments by @mcol in #259
- Ignore emacs backup and temporary files by @mcol in #260
- Add some more tests for functions that call .smoothing() by @mcol in #261
- Remove the dependency on the zoo package by @mcol in #262
- Validate the norm argument in plot_RLum.Data.Curve() by @mcol in #263
- Remove deprecated arguments in plot_KDE() by @mcol in #266
- Deprecate Analyse_SAR.OSLdata() in favour of analyse_SAR.CWOSL() by @mcol in #264
- Extract curve normalisation code into an internal helper function by @mcol in #267
- Increase coverage in analyse_pIRIRSequence.R by @mcol in #268
- Complete coverage for .import_ThermochronometryData.R by @mcol in #269
- Remove the dependency on the readxl package by @mcol in #270
- Some small coverage increases by @mcol in #271
- Add the .collapse() helper function by @mcol in #272
- Add a snapshot test for analyse_baSAR() by @mcol in #274
- Don't fail in analyse_baSAR() if no record is selected and other code cleanup by @mcol in #275
- Add a batch of snapshot tests by @mcol in #276
- Add the .validate_class() internal helper function by @mcol in #279
- Fix minor losses of coverage by @mcol in #280
- Fix crash in analyse_FadingMeasurement() with BIN version older than 05 by @mcol in #282
- Add the .require_suggested_package() helper function by @mcol in #284
- Don't crash in calc_AverageDose() on some RLum.Results objects by @mcol in #286
- Rename .match_args() to .validate_args() and improve its error message by @mcol in #287
- Fix crash in analyse_FadingMeasurement() on an RLum.Analysis object with plot = TRUE by @mcol in #288
- Add snapshot tests for analyse_SAR.CWOSL() and increase its coverage by @mcol in #289
- Add the .get_keyword_coordinates() helper function by @mcol in #291
- small improvements to .validate_positive_scalar() by @mcol in #292
- Add snapshot tests and consolidate code in Second2Gray() by @mcol in #293
- Consolidate code and increase coverage in plot_RLum.Analysis() by @mcol in #295
- Remove unexplained term from error calculation in calc_Lamothe2003() by @mcol in #296
- Fix crash in fit_OSLLifeTimes() by @mcol in #301
- Add the .listify() internal helper function by @mcol in #303
- Various fixes to calc_CentralDose() and snapshot tests by @mcol in #304
- Validate input data to plot_RLum() by @mcol in #306
- Add snapshot tests for plot_GrowthCurve() by @mcol in #308
- Address some problems in plot_GrowthCurve() by @mcol in #309
- Consolidate code for the QDR method in plot_GrowthCurve() by @mcol in #310
- Replace uses of stop() and warning() with throwing functions by @mcol in #311
- Adapt the plot_GrowthCurve() snapshot tests to run on R 4.3.3 by @mcol in #313
- Add snapshot tests for calc_CosmicDoseRate() by @mcol in #314
- Consolidate code in calc_CosmicDoseRate() by @mcol in #315
- Consolidate code for the EXP methods in plot_GrowthCurve() by @mcol in #316
- more code consolidation in plot_GrowthCurve() by @mcol in #317
- split fit_GrowthCurve() from plot_GrowthCurve() by @mcol in #318
- Store the fit_DoseResponseCurve() arguments in RLum.Results by @mcol in #321
- Redesign plot_GrowthCurve() by @mcol in #322
- fix warning in the analyse_portableOSL() tests by @mcol in #324
- Resolve note about multiple local function definitions by @mcol in #325
- Add the verbose argument to .download_file() by @mcol in #327
- Don't crash when coercing an empty list to RLum.Data objects by @mcol in #328
- Small cleanups in read_BIN2R() by @mcol in #331
- Uniform the messages reported when importing files by @mcol in #332
- Speed up the reading of BIN/BINX files by @mcol in #333
- Use seek() to move forward in the connection in read_BIN2R() by @mcol in #335
- Fix checks on field sizes in read_BIN2R() by @mcol in #339
- Return also the computed De without abs() from fit_DoseResponseCurve() by @mcol in #341
- Always recompute the record index at the end of read_BIN2R() by @mcol in #344
- deal better with zero-data records by @mcol in #345
- Further increase coverage in read_BIN2R.R by @mcol in #347
- Update the .RESERVED slot when records are dropped in read_BIN2R() by @mcol in #348
- Fix warning message and restore coverage in analyse_pIRIRSequence() by @mcol in #350
- Don't crash when reading a corrupt BIN file by @mcol in #353
- some more coverage in read_BIN2R.R by @mcol in #354
- Use data.table operations before generating the output object by @mcol in #355
- Deals with NAs when computing densities in plot_DoseResponseCurve() by @mcol in #359
- Consolidate the reading of the first few BIN/BINX fields by @mcol in #357
- Create the METADATA data.table by columns instead of by rows by @mcol in #360
- Return empty objects from read_BIN2R() when no records are kept by @mcol in #361
- Recalculate the record index only once at the end of read_BIN2R() by @mcol in #363
- Don't let verify_SingleGrainData() crash on an empty list input by @mcol in #366
- Improve terminal feedback in fit_DoseResponseCurve() by @mcol in #367
- Add snapshot tests for calc_OSLLxTxDecomposed() and calc_OSLLxTxRatio() by @mcol in #370
- Streamline the reading of strings in read_BIN2R() by @mcol in #375
- Extract shared code to calculate the LxTx error to an internal helper by @mcol in #376
- Add snapshot tests for merge_RLum.Data.Curve() by @mcol in #378
- Ensure to get a unique channel resolution in merge_RLum.Data.Curve() by @mcol in #379
- Fix the colour ramps in plot_RLum.Data.Spectrum() by @mcol in #380
- Check if the originator is not NA before using it in a comparison by @mcol in #383
- Don't listify the method.control argument when the input object is a list by @mcol in #384
- Add more coverage to the DRAC functions by @mcol in #385
- Add snapshot tests for read_BIN2R() by @mcol in #387
- improve performance of src_analyse_IRSARRF_SRS() by @mcol in #388
- Eliminate code in methods_DRAC.R that shouldn't be required anymore by @mcol in #389
- Increase coverage in analyse_IRSAR.RF() by @mcol in #392
- Better validation of sequence_structure in analyse_IRSAR.RF() by @mcol in #394
- Use bquote() inside expression() as 'expression' may show in the title by @mcol in #391
- Code cleanup and validation of RF_nat.lim and RF_reg.lim by @mcol in #395
- Consider also VSLIDE when preparing some arguments for method = SLIDE by @mcol in #397
- Allow tuning the number of windows created while sliding by @mcol in #398
- Improve performance of src_analyse_IRSARRF_SRS() with optimization at -O2 by @mcol in #399
- Add some extra checks after limitations to the curves are applied by @mcol in #402
- Clean up some of the code in analyse_IRSAR.IR() and increase coverage by @mcol in #403
- Clarify code for the computation of algorithm_error in analyse_IRSAR.RF() by @mcol in #406
- Rename the plot.single option to plot_singlePanels by @mcol in #408
- Fix crash in analyse_baSAR() if n.MCMC is equal to the thinning interval by @mcol in #409
- Rename method.control to method_control in analyse_IRSAR.RF() by @mcol in #412
- Integrate the new_features/dev_calc_EED_ model branch by @mcol in #410
- Clean up calc_EED_Model() and increase coverage by @mcol in #413
- Add an internal helper function to validate the expected length of an input by @mcol in #414
- Fix crashes in plot_RLum.Data.Spectrum() with bin.rows/bin.cols too high by @mcol in #416
- Improve input validation in plot_RLum.Data.Spectrum() by @mcol in #417
- Implement merge_RLum.Data.Spectrum() by @mcol in #419
- Add a batch of snapshot tests by @mcol in #420
- Add a bunch of snapshot tests by @mcol in #425
- Introduce the .throw_message() helper by @mcol in #426
- Don't compute a confidence interval when only one observation is available by @mcol in #428
- Use correct variable name when rounding in calc_IEU.R by @mcol in #430
- Remove unnecessary loops in calc_IEU() and improve validation by @mcol in #431
- Consolidate code in calc_IEU() by @mcol in #432
- Fix various crashes in calc_IEU() by @mcol in #433
- Make fit_DoseResponseCurve() accept a list as input by @mcol in #434
- Add option to control the largest acceptable temperature difference by @mcol in #437
- Make the pattern in the identifiers submitted to DRAC not discoverable by @mcol in #438
- Improve input validation for a logical input by @mcol in #441
- Add the verbose option to write_R2BIN() by @mcol in #444
- Fix subset expression in extract_IrradiationTimes() by @mcol in #446
- Generate automatically the list of functions supported by import_Data() by @mcol in #447
- Improve input validation against an empty RLum.Results object by @mcol in #449
- Consolidate code and increase coverage in plot_KDE() by @mcol in #450
- Complete coverage for fit_LMCurve.R by @mcol in #451
- Replace uses of any(is.na(x)) with anyNA(x) by @mcol in #452
- Increase coverage in fit_OSLLifeTimes.R by @mcol in #453
- More coverage by @mcol in #455
- Fix crash in analyse_FadingMeasurement() if all records get removed by @mcol in #456
- Improve input validation against a list with an empty RLum.Results object by @mcol in #458
- Fix crashes in trim_RLum.Data() caused by misspecifications in trim_range by @mcol in #461
- Improve input validation against an empty list by @mcol in #463
- More coverage by @mcol in #464
- Improve input validation against an empty data frame by @mcol in #467
- Check that we have enough data to fit the non-linear models in fit_DoseResponseCurve() by @mcol in #465
- More coverage and code consolidation by @mcol in #469
- Fix crashes in calc_FastRatio() by @mcol in #472
- Fix bounds in fit_DoseResponseCurve() by @mcol in #473
- Fix crash in plot_DRTResults() due to wrong subsetting by @mcol in #475
- Improve input validation against an empty RLum.Analysis object by @mcol in #477
- Ensure errors are non-negative in calc_gSGC() by @mcol in #481
- Fix how test_parameters is listified in analyse_Al2O3C_Measurement() by @mcol in #482
- Rename the 'sample' argument to 'object' in fit_DoseResponseCurve() by @mcol in #484
- Improve input validation against and empty character vector by @mcol in #486
- Stop if using recordType returns no records in analyse_Al2O3C_CrossTalk() by @mcol in #488
- Add view() for RLum objects by @mcol in #490
- Remove unused setGeneric() for view() by @mcol in #491
- Improve input validation against an empty RLum.Data.Image object by @mcol in #493
- A bit more coverage by @mcol in #494
- More coverage by @mcol in #495
- Improve input validation against an empty RLum.Data.Curve object by @mcol in #497
- Rename Second2Gray() to convert_Second2Gray() and set it to defunct by @mcol in #500
- Improve validation against an empty RLum.Data.Spectrum object by @mcol in #502
- Rename the CW2p*() functions to convert_CW2p*() and deprecate them by @mcol in #503
- Fix computation of the natural dose for QDR/LIN extrapolation in fit_DoseResponseCurve() by @mcol in #505
- Code consolidation in fit_DoseResponseCurve() by @mcol in #506
- Improve validation against a list with an empty RLum.Data.Curve by @mcol in #508
- Catch failures from confint() in fit_CWCurve() by @mcol in #510
- Improve validation against an empty matrix by @mcol in #512
- Add explicit support for disabling the fitting in analyse_IRSAR.RF() by @mcol in #513
- Improve validation against an Risoe.BINfileData object by @mcol in #516
- Add the replace_metadata<-() method for the Risoe.BINfileData class by @mcol in #514
- Check that data size is compatible with the number of positions in analyse_baSAR() by @mcol in #518
- Improve validation against a list of RLum.Analysis objects by @mcol in #520
- Fix crashes and messages when setting
variable.names
in analyse_baSAR() by @mcol in #522 - Add the replace_metadata<-() method for the RLum.Data class by @mcol in #524
- Add the replace_metadata<-() method for the RLum.Analysis class by @mcol in #525
- Add the add_metadata<-() generic and methods by @mcol in #527
- Reorganize the generics into a single file by @mcol in #530
- Fix shifting of the curve away from zero in analyse_SAR.CWOSL() by @mcol in #531
- Fix crash when non-positive values are given to calc_AverageDose() by @mcol in #533
- Add functionality to remove metadata using replace_metadata() by @mcol in #534
- Import of thermochronometry code and tests by @mcol in #535
- Allow to control the ITL_model argument from analyse_ThermochronometryData() by @mcol in #536
- Increase coverage in plot_RLum.Results.R by @mcol in #537
- Fix crashes in calc_Huntley2006() if the model is misspecified by @mcol in #539
- Add some snapshot tests by @mcol in #540
- Speed up calc_Huntley2006() by @mcol in #541
- Restore the dose response curve plots in calc_Huntley2006() by @mcol in #544
- Speed up calc_Huntley2006(): set a more consistent default for rprime by @mcol in #542
- Add the rename_metadata<-() generic and methods by @mcol in #545
- Finish renaming of NumberIterations.MC to n.MC in plot_GrowthCurve() by @mcol in #547
- Handle failure of the unfaded EXP model in calc_Huntley2006() by @mcol in #550
- Plot the natural curve for extrapolation also in the negative quadrant by @mcol in #552
- Add grain to the RLum.Results object produced by analyse_SAR.CWOSL() by @mcol in #554
- Rename PSL2Risoe.BINfileData() to convert_PSL2Risoe.BINfileData() by @mcol in #556
- Fix rho_prime resulting in NaN in analyse_FadingMeasurement() by @mcol in #559
- fit_IsothermalHolding(): define the models as functions rather than strings by @mcol in #557
- New: functions underlaying paper "A novel tool to access crosstalk in luminescence detection" Anna-Maartje de Boer, Luc Steinbuch by @LucSteinbuch in #560
- Improve fitting of the BTS model in fit_IsothermalHolding() by @mcol in #561
- Produce a data frame with the fitted parameters from fit_IsothermalHolding() by @mcol in #564
- Fix warnings from fit_IsothermalHolding() when processing multiple samples by @mcol in #565
- Remove unused dose.scale and pdf.scale arguments from calc_FiniteMixture() by @mcol in #567
- Use fully-qualified names to reduce some explicit imports by @mcol in #568
- Return data.frame of curve points from fit_EmissionSpectra() by @mcol in #570
- Implement sort_RLum() for RLum.Analysis objects by @mcol in #571
- Make the export additional data optional in fit_EmissionSpectra(), fit_CWCurve() and fit_LMCurve() by @mcol in #573
- Fix single page layout of SAR.CWOSL plots from analyse_pIRIRSequence() by @mcol in #575
- Implement sort_RLum() for Risoe.BINfileData objects by @mcol in #576
- Make fit_LMCurve() and fit_CWCurve() more resilient to plot failures by @mcol in #578
- Ensure that sequence.structure contains at least one IR step by @mcol in #580
New Contributors
- @LucSteinbuch made their first contribution in #560
Full Changelog: v0.9.25...v1.0.0