Recent Releases of Luminescence
Luminescence - v1.1.0 (CRAN)
Changes in version 1.1.0 (2025-06-11)
New functions
remove_SignalBackground(): A user-friendly method to subtract background signals from various curves inRLum.Analysisobjects without resorting tolapply()loops. Depending on the record type, the function identifies pairs of curves; for instance, if in a sequence, aTLcurve is immediately followed by anotherTLcurve, the second curve is recognised as the background signal, subtracted usingmerge_RLum()and subsequently removed from the object (if desired). Alternatively, a set of potential background curves can be specified.remove_RLum(): This function further completes the set of methods that can handle and modifyRLum-classobjects. It operates onRLum.Analysisobjects or alistof such objects to remove unwanted records from datasets. Although the function callsget_RLum()and relies on its functionality, the new implementation facilitates a more logical workflow and analysis pipeline..as.latex.table(): ConvertsRLum.Resultsobjects where suitable toLaTeXready tables, for instance, objects produced byuse_DRAC(). The function has been present in the package as an internal function for many years; now it is exported and better linked to make it discoverable.
New datasets
RF70Curvesis a new dataset consisting of two IR-RF curves measured with the RF70 protocol. This new dataset provides a more realistic example foranalyse_IRSAR.RF().
Breaking changes
Function
get_Quote()is no longer exported, but remains available as an internal function. This is unlikely to affect any user of the package, as the function was only meant to report a random quote at startup (#644).In the functions
fit_DoseResponseCurve()andplot_GrowthCurve(), thefit.methodoptionLambertWwas replaced by the more correct termOTOR.Argument
cex.globalhas been removed fromplot_DoseResponseCurve()(and consequently also fromplot_GrowthCurve()), and if set it will be silently ignored. Users can set thecexgraphical parameter via...in its place (#831).The
fit.methodandfit.advancedarguments of functionfit_LMCurve()have been removed. The default fitting method has been changed fromporttoLM, and support for theportalgorithm has been removed. From now on, argumentfit.methodis silently ignored, unlessfit.method = 'port'is used, in which case a deprecation warning is thrown (#793).The fundamental physical constants used in the package (such as Boltzmann constant, Planck constant, etc.) have been uniformed to those reported in the NIST Reference on Constants, Units and Uncertainty. This may affect the numerical results of the following functions:
calc_FastRatio(),calc_Huntley2006(),calc_SourceDoseRate(),calc_ThermalLifetime(),convert_Activity2Concentration(),convert_Wavelength2Energy(),fit_CWCurve(),fit_LMCurve(),fit_SurfaceExposure(),fit_ThermalQuenching()(#693).
Bugfixes and changes
analyse_baSAR()
- The function crashed if only one aliquot was kept (#834).
analyse_FadingMeasurement()
The function crashed if the number of
LxandTxcurves was not equal whenstructure = c("Lx", "Tx"), which is the default. The check that the number of points within each pair of curves has also been improved, and the function now produces more helpful error messages (#616).The function tests are now less rigorous for different
LxandTxsizes. While they should match, numerical rounding issues in the data returned by the measurement devices could previously result in rejection of records, although this had no actual meaning for the data analysis.
analyse_IRSAR.RF()
The legend and subtitle texts now scale better at non-default cex settings (#803).
The printing of progress bars and messages to the terminal can now be controlled via the
...argumentverbose. Previously this could only be done via thetxtProgressBarargument (which is still supported), but the new option makes the interface consistent with most other functions (#805).The
mtextandcexoptions are respected ifmethod = "None"(#807).The residual plot correctly respects the logarithmic transformation of the x-axis when
log = "x"orlog = "xy"are specified (#814, #825).The function now deals correctly also with input objects containing multiple curves (#816).
The residual indicator rectangle, which is drawn when
methodis eitherSLIDEorVSLIDE, is also drawn whenlog = "x"(#821).The plotting of the density is silently disabled if
n.MC = NULL, which avoids a spurious warning (#823).
analyse_pIRIRSequence()
- The function now respects the
cexgraphical argument, and its plot output has been subtly improved thanks to various fixes that have occurred especially inplot_DoseResponseCurve()(#831).
analyse_portableOSL()
The function now returns an error if
modeis something other than"profile"or"surface".The
modeargument was not respected when operating over a list of objects (#673).The function crashed when using
mode = "surface"if the plotting limits were too tight and left only one point (#675).The check on the validity of the
signal.integralargument has been improved, and now it occurs only once, so at most one warning is raised if the argument is set to a value exceeding the valid range (#678, #680).The function returns a clearer message when no x-coordinates were measured and
mode = "surface"was used (#682).The
cexandtypegraphical parameters can now configured via the...argument (#684).The expected sequence pattern of the input object is validated more thoroughly to avoid crashes in case of misspecification (#687).
The graphical
...argumentcontournever produced a meaningful contour plot due to an internal error (#686). Along, argumentscontour_nlevelsandcontour_colare now supported through...to better control the number and colour of contour lines.
analyse_SAR.CWOSL()
Add support for
fit.method = 'OTORX'following the changes infit_DoseResponseCurve(); this change includes the new argumentdose.points.testthat is only of use in combination with theOTORXfit.Add new graphical output if the measurements were single grain measurements, in such case a disc with the position and grain number marked in shown. This plot replaces the IRSL curve check plot, but only for single grain data (#797).
The rejection criteria plot was rewritten and now provides an easier to grasp visual feedback (#797, #798).
The
IRSL/Single Grainpanel swapped place with the rejection criteria panel; the plot numbers remained unchanged to avoid regression.More code optimisation for better readability (#802)
analyse_SAR.TL()
- A check on the
sequence.structureargument ensures that a “SIGNAL” entry has been specified (#779).
calc_AliquotSize()
The new argument
sample_carrier.diameterallows to specify a value for the diameter of the sample carrier, which up to now was hardcoded to the very common 9.8 mm size (#623).Several graphical parameters can now configured via
...arguments, so that the plot appearance can be fully customized (#671).
calc_AverageDose()
- A bug in the implementation prevented the default plot settings from
being modified via
...as advertised. Now custom settings are respected (#658).
calc_FiniteMixture()
The function doesn’t crash anymore if the
n.componentsargument specifies non-consecutive values (#691).The function sometimes failed to plot some of the densities when the number of components was set to a value of 8 or more (#704).
The density plots would not always be coloured completely, but especially for high values of
sigmabthere would be an unfilled area at the base of the densities (#706).If the very first iteration over the components during plotting was skipped, then the function crashed as a quantity computed only in that iteration was not available. This happened for very specific combinations of
sigmabandn.components(#708).Another crash occurred when height of the largest density curve could not be estimated due to the presence of too many
NAvalues in the intermediate computations (#710).The check for significance of each component added to the model has been corrected to be more statistically rigorous (#703).
Blank gaps appearing to the sides of the proportion of components plot for high number of components have been removed (#713), as well as extra slices appearing due to rounding errors (#715).
The plot can be better configured via the new
plot.criteriaargument to control whether the statistical criteria curves should be drawn. Moreover, support for the...options has been added:cexto control the overall scaling,main.densities,main.proportionsandmain.criteriato set the subplot titles (#717).Plots are now generated even when results contain
NAvalues, as they in general don’t affect the plot. However, when that happens we report it in the plot subtitle (#718).
calc_Huntley2006()
Support was added for multicore computations via the
coresargument, and for the nls-fitting control optionsmaxiterandtrace.The fitting of the simulated curve with the GOK model has been made more robust: when an initial fit of the model fails, the fit is attempted again with 10 different values for
D0and the best fit is used. This should reduce the number of occasions in which the error message “Could not fit simulated model curve, check suitability of model and parameters” is reported (#660).The function crashed if all simulated Lx/Tx values were identical and approximately zero, which could happen if the
rhopargument was set to a large enough value (#725).An error message has been improved so that it doesn’t suggest setting the ‘fit.bounds = FALSE’ argument if it has already been set (#729).
The computation of the x-axis limits has been improved to avoid having too much unused horizontal space, especially for
mode = "extrapolation"(#731).The scaling of the plot can now be controlled via the
cexargument (#735).The plot margins are set more precisely and avoid the summary text to be cut off (#737).
calc_MinDose()
- The function now warns if the number of bootstrap replicates is too low to perform the loess fitting (#721).
calc_OSLLxTxRatio()
The function returned a warning for wrong integral settings for the
Txcurve even if noTxcurve was provided.The function does not check any more of different object types for
Lx.dataandTx.databut validate objects for allowed types (this should have no user-visible effects).
convert_Concentration2DoseRate()
- The function validates its input values more thoroughly (#613).
extract_IrradiationTimes()
The function tries a little bit harder to extract the correct duration of TL steps, rendering the data output hopefully a little bit more intelligible (#651).
The function gained a new argument called
return_same_as_input, with default value ofFALSE. If set toTRUE, the input object (usually anRLum.Analysisobject or alistof them) is returned with updated info elements forIRR_TIMEandTIMESINCEIRR. This makes theRLum.Analysisobject compatible with functions that explicitly search for those two objects, such as those in the'OSLdecomposition'package (#752).
fit_DoseResponseCurve()
The function now allocates less memory for storing intermediate values (#610).
Add initial support for
OTORXfitting following Lawless and Timar-Gabor 2024 (#677). The code implementation follows the Python reference by jll2 with an addition for an allowed offset parameteraset iffit.force_through_origin = FALSE. This also enables to supportmode = "extrapolation"(thanks to John Lawless for his input).The code of the function was optimised in several places to improve code readability and reduce redundant calls.
The models for
EXP,EXP+LIN,EXP+EXPandGOKare now available in C++. This cut the required computation times in half in benchmark scenarios. More importantly, this performance scales with the number of Monte Carlo runs.
fit_EmissionSpectra()
- Fix crash when attempting to plot a frame with non-positive counts (#761).
fit_LMCurve()
If the user asks logarithmic scaling in the y-axis, using either
log = "y"orlog = "xy", this is now ignored when plotting residuals and component contributions (#755).The plot has been slightly reworked to reduce the cases of “margin too large” errors and to work better at high settings of
cex(#757).Missing values in the input data are now silently removed (#759, #763).
The plotting of residuals, component contributions and legend can now be disabled, and the legend position can be controlled (#785).
The error computed when using option
fit.calcError = TRUEis now returned correctly, instead of being left toNA(#789).Argument
bg.subtractionalso accepts the option"none"to disable background subtraction even ifvalues.bgis provided (#795).
fit_SurfaceExposure()
- It is now possible to specify different values for the light
attenuation coefficient
muwhen a list of input data is provided (#667).
fit_ThermalQuenching()
The
traceoption, which can be specified via themethod_controlargument, is now respected.The model now get internally reformulated into a mathematically equivalent expression that is easier to fit. This should reduce the number of occasions when the function fails to find a valid solution and improve the uncertainty estimation (#696).
get_RLum()
- The argument
subsetcan now be provided as a character that represents a logical expression. Before, it always required a logical expression, but this may lead to odd effects due to the early evaluation happening in R and might not be wanted. Providingsubsetas a character is now a viable workaround in those situations.
import_Data()
- The function uses the most common formats (BINX and XSYG) before trying all others.
merge_RLum.Data.Curve()
- The function does no longer stops for differing channel resolutions, but it does issue a warning. The user is responsible for the consequences.
plot_DetPlot()
- The logic for multicore support was incorrect, which resulted in
always starting a parallel cluster even when
multicore = FALSE(#742).
plot_DoseResponseCurve()
The response curve always tries to the get the 0 point in the mode
interpolationandalternate(#677).Minor graphical polish to limit overplotting and also plot a density curve for the
L_n/T_nsignal.If
mode = "alternate", the message that the equivalent dose could not be fitted is no longer shown.Argument
cex.globalhas been removed and will be silently ignored (#831).
plot_DRCSummary()
- Add support for
fit.method = 'OTORX'following the change infit_DoseResponseCurve()(#677).
plot_DRTResults()
The summary and legend texts now scale better at non-default cex settings (#765).
Argument
given.doseis better validated against misspecifications, and setting it to 0 is equivalent to leaving it at its defaultNULLvalue, which corresponds to avoiding data normalization (#767, #799).The function crashed when multiple inputs were used with
boxplot = TRUEand all preheat values were identical (#769).Plot title, summary text and legend are now better positioned (#773, #774, #781).
A bug in the way colours and symbols are assigned to plot points has been fixed (#777).
The horizontal axis doesn’t include anymore a spurious extra tick that didn’t correspond to any aliquot (#783).
plot_GrowthCurve()
Add support for
fit.method = 'OTORX'following the change infit_DoseResponseCurve()(#677).Argument
cex.globalhas been removed and will be silently ignored (#831).
plot_Histogram()
The function now doesn’t produce warnings when the input consists of a single-column data frame, as it assumes that the De error is 10^-9 (#744).
The right margin is now smaller when errors are not plotted, as there is no need to leave space for the standard error axis (#748).
The summary text now scales better at non-default cex settings (#750).
plot_KDE()
The function validates its input values more thoroughly (#635).
Setting
summary.posto one of “left”, “center” or “right” resulted in the summary table not being visible (#642).Argument
outputhas been removed, and it will be ignored if set (#700).
plot_RadialPlot()
The function validates its input values more thoroughly (#639).
The legend text now scales better at non-default cex settings (#746).
plot_RLum.Data.Curve()
We added comprehensive support for base R plotting arguments utilised by
plot.default()andpar(). This enhancement ensures that all available arguments are fully supported (#646).The function gained a new logical argument named
auto_scale. When set in conjunction with eitherxlimorylim, this argument automatically adjusts the plot range to align with the corresponding settings forxlimorylim. For instance, if a user intends to plot OSL curves but initially selects thexlimrangec(10:30)to examine the background, the initial count values may be excessively large, resulting in limited visibility. With the introduction of theauto_scaleoption, theylimvalues are automatically adjusted to compensate for this scenario. Theauto_scaleargument is also accessible throughplot_RLum.Analysis()andplot_RLum()(#646).
plot_RLum.Data.Spectrum()
The channel-wise background subtraction was essentially broken if a background spectrum with the same setting was provided. The function always calculated the arithmetic mean. This was fixed, and the manual updated accordingly.
If a background spectrum was provided, the behaviour of the plot output was sometimes hard to understand without knowledge of the underlying code. This behaviour was improved and now
ylimwill also affect the background spectrum ifbg.channels = NULL(the default).The function could crash if column names were missing and the 1bg.spectrum` argument was used (#726).
read_TIFF2R()
The argument
filecan now be provided as alistor a character vector.The function gained a new logical argument called
merge2stackthat can be used iffileis either alistor a character vector of length > 1. If set toTRUE, images are combined into one image stack.
read_XSYG2R()
A redundant computation has been removed, and the function is now marginally faster on files when the detector is not a spectrometer (#753).
Prepare import for an updated version of LexStudio2 (>=v2.31.1) where the horizontal hardware binning finally works after >10 years, but the changes introduce a lot of
NaNvalues that would cause a crash of the function.Minor code refactoring for a small speed boost if spectrometer measurements are imported.
scale_GammaDose()
- Argument
plot_singlePanelsnow works as documented, that is it produces all plots in a single page when set toFALSE(default), and one plot per page when set toTRUE(#698).
sort_RLum()
The sorting mechanism for
RLum.Analysisobjects has been enhanced. It now enables sorting based on multiple parameters, including sorting all availableinfo_elementsin a prioritised manner (#606, #620).Sorting now works on a list of
RLum.Analysisobjects. If the list contains elements of a different type, they are passed through unchanged. The output is again a list (#620).
structure_RLum()
- The function now returns a less messy data frame because it
encapsulates
.pidandinfoas lists within the data frame. The function is primarily used internally to facilitate a rapid exploration ofRLum.Analysisobject structures. However, the change may potentially break existing code in extremely rare circumstances.
template_DRAC()
- The function now throws messages instead of warnings for wanted
coercions; however, it will be hard on failed coercions that would
cause
use_DRAC()to fail.
use_DRAC()
The function now checks for DRAC specific URL parts if a custom URL is provided; this avoids long searches for unspecific errors.
Due to the internal masking of submitted values, the initial row order got mixed up; regression from #438. The order is maintained and the row index corrected; in other words, the masking should now be again invisible to the user.
verify_SingleGrainData()
- The function crashed if an object originating from
read_XSYG2R()contained positions in itsinfofield (#740).
write_R2TIFF()
- The function now supports the export of more than one image slice.
Internals
- The internal function
create_UID()has undergone further optimisation for speed, resulting in a significant performance improvement. Additionally, it now generates a hash value with a consistent length instead of a time stamp with a random number.
What's Changed
- Reduce unnecessary allocations in fit_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/611
- Add some graphical snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/612
- Improve input validation in convert_Concentration2DoseRate() by @mcol in https://github.com/R-Lum/Luminescence/pull/614
- Add some graphical snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/615
- Check earlier the Lx and Tx sizes in analyse_FadingMeasurement() by @mcol in https://github.com/R-Lum/Luminescence/pull/617
- Simplify the handling of plotsinglePanels in analyseFadingMeasurement() by @mcol in https://github.com/R-Lum/Luminescence/pull/618
- Consolidate code in calc_OSLLxTxRatio() by @mcol in https://github.com/R-Lum/Luminescence/pull/619
- Consolidate code in calc_CentralDose() and complete coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/622
- sort_RLum() (#605): by @RLumSK in https://github.com/R-Lum/Luminescence/pull/620
- Fix R check error complaining about overlong file paths for the tarball. by @RLumSK in https://github.com/R-Lum/Luminescence/pull/624
- Fix area computation and consolidate code in calc_AliquotSize() by @mcol in https://github.com/R-Lum/Luminescence/pull/625
- Fix merge_RLum() issues: by @RLumSK in https://github.com/R-Lum/Luminescence/pull/626
- Add the samplecarrier.diameter argument to calcAliquotSize() by @mcol in https://github.com/R-Lum/Luminescence/pull/627
- Disable the windows-latest devel workflow by @mcol in https://github.com/R-Lum/Luminescence/pull/628
- Remove unreachable error block in sort_RLum() by @mcol in https://github.com/R-Lum/Luminescence/pull/630
- Optimise create_UID() by @RLumSK in https://github.com/R-Lum/Luminescence/pull/631
- structure_RLum(): by @RLumSK in https://github.com/R-Lum/Luminescence/pull/632
- Small code cleanup in plot_ROI() by @mcol in https://github.com/R-Lum/Luminescence/pull/633
- Try most common formats first in import_Data() by @mcol in https://github.com/R-Lum/Luminescence/pull/634
- Improve input validation in plot_KDE() by @mcol in https://github.com/R-Lum/Luminescence/pull/636
- Remove the testplotFunctions.R file by @mcol in https://github.com/R-Lum/Luminescence/pull/637
- Recover a few lines of lost coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/638
- Add more graphical snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/640
- Improve input validation of graphical parameters in plot_RadialPlot() by @mcol in https://github.com/R-Lum/Luminescence/pull/641
- Fix positioning of the summary table in plot_KDE() by @mcol in https://github.com/R-Lum/Luminescence/pull/643
- Stop exporting get_Quote() by @mcol in https://github.com/R-Lum/Luminescence/pull/645
- plot_RLum.Data.Curve() - functionality update by @RLumSK in https://github.com/R-Lum/Luminescence/pull/646
- Increase the number of graphical snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/647
- Improve validation of summary and summary.pos arguments by @mcol in https://github.com/R-Lum/Luminescence/pull/648
- Fix regression corresponding to #632. by @RLumSK in https://github.com/R-Lum/Luminescence/pull/649
- Code consolidation in generation of statistical summaries by @mcol in https://github.com/R-Lum/Luminescence/pull/650
- Update extract irradiation times by @RLumSK in https://github.com/R-Lum/Luminescence/pull/651
- Fix crash in fit_IsothermalHolding() if the GOK model doesn't fit by @mcol in https://github.com/R-Lum/Luminescence/pull/652
- Add new function remove_SignalBackground(): by @RLumSK in https://github.com/R-Lum/Luminescence/pull/654
- Fix the packing density calculation in calc_AliquotSize() by @mcol in https://github.com/R-Lum/Luminescence/pull/656
- Complete coverage for calc_AverageDose() by @mcol in https://github.com/R-Lum/Luminescence/pull/657
- Address #529 and implement first version of remove_RLum(): by @RLumSK in https://github.com/R-Lum/Luminescence/pull/655
- Respect the ... settings in calc_AverageDose() by @mcol in https://github.com/R-Lum/Luminescence/pull/659
- Reduce the number of machines running the CI actions by @mcol in https://github.com/R-Lum/Luminescence/pull/663
- Make fitting of the GOK more robust in calc_Huntley2006() by @mcol in https://github.com/R-Lum/Luminescence/pull/664
- Remove redundant tests by @mcol in https://github.com/R-Lum/Luminescence/pull/665
- Adjust #660 because the search range was too vast by @RLumSK in https://github.com/R-Lum/Luminescence/pull/666
- Allow multiple mu values when a list of input data is provided in fit_SurfaceExposure() by @mcol in https://github.com/R-Lum/Luminescence/pull/668
- Set the originator in calcAliquotSize() and calcFiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/670
- Make most graphical parameters configurable in calc_AliquotSize() by @mcol in https://github.com/R-Lum/Luminescence/pull/672
- Propagate the mode argument in the analyse_portableOSL() self-call by @mcol in https://github.com/R-Lum/Luminescence/pull/674
- Don't lose dimensions when subsetting data in analyse_portableOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/676
- Update fit dose response curve to support OTORX by @RLumSK in https://github.com/R-Lum/Luminescence/pull/677
- Check the signal.integral argument only once in analyse_portableOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/679
- Improve validation of signal.integral in analyse_portableOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/681
- Produce a clearer message for surface mode if no x-coordinates are available by @mcol in https://github.com/R-Lum/Luminescence/pull/683
- Allow controlling cex and type in analyse_portableOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/685
- Improve the sequence pattern and coordinate checks in analyse_portableOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/688
- Fix the contour option of analyse_portableOSL() by @RLumSK in https://github.com/R-Lum/Luminescence/pull/689
- Let the user choose the contour colour in analyse_portableOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/690
- Support non-consecutive values for n.components in calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/692
- Add a bunch of snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/694
- Add physical and time constants to the package namespace by @mcol in https://github.com/R-Lum/Luminescence/pull/695
- Make fit_ThermalQuenching() more stable by @mcol in https://github.com/R-Lum/Luminescence/pull/697
- Make the plotsinglePanels argument of scaleGammaDose() work as expected by @mcol in https://github.com/R-Lum/Luminescence/pull/699
- Remove the output argument from plot_KDE() by @mcol in https://github.com/R-Lum/Luminescence/pull/701
- Move plotting code from plotRLum.Results() to calcFiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/702
- Avoid leaving empty list elements in calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/705
- Don't leave unfilled areas in the density plots in calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/707
- Ensure that max.dose and min.dose are always computed by @mcol in https://github.com/R-Lum/Luminescence/pull/709
- Make the estimation of the y-scaling in calc_FiniteMixture() more robust by @mcol in https://github.com/R-Lum/Luminescence/pull/711
- Improve the significance check in calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/712
- Remove blank gaps to the sides of the barplot in calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/714
- Avoid premature rounding of components proportions in calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/716
- Make the calc_FiniteMixture() plots more customizable. by @mcol in https://github.com/R-Lum/Luminescence/pull/719
- Plot results even when NAs are produced in calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/720
- Warn if loess fitting cannot be done as there are not enough data by @mcol in https://github.com/R-Lum/Luminescence/pull/722
- Avoid mangling the function name with .replacecoef() in fitDoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/724
- Ensure that column names are set to a default value if missing in plot_RLum.Spectrum() by @mcol in https://github.com/R-Lum/Luminescence/pull/727
- Don't crash if all simulated Lx/Tx values are identical by @mcol in https://github.com/R-Lum/Luminescence/pull/728
- Amend error message if we've used the argument it would have suggested by @mcol in https://github.com/R-Lum/Luminescence/pull/730
- Improve computation of x-axis limits in calc_Huntley() by @mcol in https://github.com/R-Lum/Luminescence/pull/732
- Validate n.MC and silently ensure that it's at least 2 in calc_Huntley2006() by @mcol in https://github.com/R-Lum/Luminescence/pull/734
- Allow controlling cex in calc_Huntley2006() by @mcol in https://github.com/R-Lum/Luminescence/pull/736
- Account for cex when setting the margins around the summary text in calc_Huntley2006() by @mcol in https://github.com/R-Lum/Luminescence/pull/738
- Use simpler but mathematically equivalent formulation for the normalisation by @mcol in https://github.com/R-Lum/Luminescence/pull/739
- Fix crash in verify_SingleGrainData() by @mcol in https://github.com/R-Lum/Luminescence/pull/741
- Improve the logic for the multicore argument in plot_DetPlot() by @mcol in https://github.com/R-Lum/Luminescence/pull/743
- Don't produce warnings on error-free datasets in plot_Histogram() by @mcol in https://github.com/R-Lum/Luminescence/pull/745
- Fix the cex setting in the legend of plot_RadialPlot() by @mcol in https://github.com/R-Lum/Luminescence/pull/747
- Reduce the right margin in plot_Histogram() if errors are not plotted by @mcol in https://github.com/R-Lum/Luminescence/pull/749
- Fix the cex setting in the summary of plot_Histogram() by @mcol in https://github.com/R-Lum/Luminescence/pull/751
- Update extract_IrradiationTimes() by @RLumSK in https://github.com/R-Lum/Luminescence/pull/752
- Remove redundant call to srcgetXSYGcurvevalues() by @mcol in https://github.com/R-Lum/Luminescence/pull/754
- Silently ignore logarithmic scaling of the y-axis in the fit_LMCurve() residuals plot by @mcol in https://github.com/R-Lum/Luminescence/pull/756
- Remove title from the component contribution plot and extra x-axis by @mcol in https://github.com/R-Lum/Luminescence/pull/758
- Silently remove missing values from the input data in fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/760
- Don't normalise data if all values are zero by @mcol in https://github.com/R-Lum/Luminescence/pull/762
- Remove missing from values.bg in fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/764
- Fix cex setting in the summary/legend text of plot_DRTResults() by @mcol in https://github.com/R-Lum/Luminescence/pull/766
- Improve validation of given.dose in plot_DRTResults() by @mcol in https://github.com/R-Lum/Luminescence/pull/768
- Fix crash in plot_DRTResults() when drawing the polygon if all preheat values are identical by @mcol in https://github.com/R-Lum/Luminescence/pull/770
- Relax check on the number of preheat temperatures by @mcol in https://github.com/R-Lum/Luminescence/pull/772
- Improve placement of the title in plot_DRTResults() by @mcol in https://github.com/R-Lum/Luminescence/pull/775
- Improve placement of the summary text in plot_DRTResults(). by @mcol in https://github.com/R-Lum/Luminescence/pull/776
- Improve the way in which colours and symbols are assigned to points by @mcol in https://github.com/R-Lum/Luminescence/pull/778
- Ensure that sequence.structure contains a SIGNAL entry in analyse_SAR.TL() by @mcol in https://github.com/R-Lum/Luminescence/pull/780
- Fix horizontal positioning of summary/legend when boxplot = TRUE by @mcol in https://github.com/R-Lum/Luminescence/pull/782
- Set the horizontal axis limits more precisely in plot_DRTResults() by @mcol in https://github.com/R-Lum/Luminescence/pull/784
- Fix colour assignment in the curves plot of fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/786
- Add customization options to fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/788
- Fix typo in assigment so that the fit.calcError is correctly stored in fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/790
- Don't allow the log-transformed y-axis to extend below the x-axis in fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/792
- Remove support for fit.method = "port" in fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/794
- Add support for bg.subtraction = "none" to fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/796
- analyse_SARCWOSL() by @RLumSK in https://github.com/R-Lum/Luminescence/pull/797
- Additional tweaks by @RLumSK in https://github.com/R-Lum/Luminescence/pull/798
- Add support for given.dose = 0 in plot_DRTResults() by @mcol in https://github.com/R-Lum/Luminescence/pull/800
- More cleaning up analyse_SAR.CWOSL() by @RLumSK in https://github.com/R-Lum/Luminescence/pull/802
- Fix the cex setting in the legend of analyse_IRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/804
- Add support for the verbose argument via ... to analyse_IRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/806
- Respect mtext and cex if method = "None" in analyse_IRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/808
- Don't open the plot device unless plot = TRUE by @mcol in https://github.com/R-Lum/Luminescence/pull/809
- Fix scaling of y-axis label in analyse_portableOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/811
- Improve check and error message in analyse_IRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/813
- Respect log = "x" in the residuals plot of analyse_IRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/815
- Make analyse_IRSAR.RF() support multiple curves by @mcol in https://github.com/R-Lum/Luminescence/pull/817
- Improve validation against data.frames containing zeros by @mcol in https://github.com/R-Lum/Luminescence/pull/819
- Draw the residual indicator rectangle also if log = "x" in analyseIRSARRF() by @mcol in https://github.com/R-Lum/Luminescence/pull/822
- Don't attempt to show the density plot if n.MC = NULL by @mcol in https://github.com/R-Lum/Luminescence/pull/824
- Fix residual placement when log = "xy" in analyse_IRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/826
- Improve argument validation in analyse_pIRIRSequence() by @mcol in https://github.com/R-Lum/Luminescence/pull/828
- Add more graphical snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/830
- Clean up code to restore the graphical settings in plot_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/833
- Don't lose dimensions when only one aliquot is present in analyse_baSAR() by @mcol in https://github.com/R-Lum/Luminescence/pull/835
- Remove the cex.global option from plot_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/836
- Further spacing changes in plotDoseResponseCurve() to help analysepIRIRSequence() by @mcol in https://github.com/R-Lum/Luminescence/pull/837
- Fix regression in analyse_pIRIRSequence() by @mcol in https://github.com/R-Lum/Luminescence/pull/839
Full Changelog: https://github.com/R-Lum/Luminescence/compare/v1.0.1...1.1.0
- R
Published by mcol 12 months ago
Luminescence - v1.0.1 (CRAN)
Changes in version 1.0.1 (2025-03-07)
Bugfixes
analyse_baSAR()
- The number of aliquots used was only partially reported if no aliquots were removed, resulting in an incomplete message in the output to the terminal.
analyse_FadingMeasurement()
The function now checks that an input object generated from an XSYG file contains irradiation steps and returns an error if none are available, instead of producing an unhelpful output (#588).
A regression in
plot_RLum.Analysis()caused part of the plot of the luminescence curves to be garbled (#589).The function crashed on a file generated by
read_XSYG2R()if the number of curves available after removal of the irradiation step was not enough for the the fading measurement to be analysed (#603).
analyse_pIRIRSequence()
- The check on the minimum device plot size used to fail if only one
dimension was below our minimum threshold, and when it was incorrectly
triggered by the floating point values computed by
grDevices::dev.size(), which sometimes could be spuriously just below threshold. We also changed the minimum device size from 18 to 16 inches (#593).
calc_CosmicDoseRate()
- The function crashed if the number of depths provided exceeded that of the densities and the latter contained more than one value (#595).
calc_FadingCorr()
The function sporadically returned an implausibly large error estimate if any of the Monte Carlo simulations produced an outlier solution (#597).
The function now allocates only as much memory as required if the user specifies a value for
n.MCother than"auto", which brings a small speed-up if fewer than 10 million samples are requested.Input arguments are now more thoroughly checked to avoid warnings or unhelpful messages (#599).
calc_FastRatio()
- The function crashed if the input was an RLum.Analysis object (#586).
plot_AbanicoPlot()
- The
xlim,ylimandzlimparameters are now better validated to avoid possible crashes if misspecified (#581).
plot_RLum.Analysis()
- The function reset incorrectly the graphical parameters for the case
plot_singlePanels = TRUE. This caused a regression in the plot output fromanalyse_FadingMeasurement()(#589).
sort_RLum()
The function doesn’t crash when multiple fields are specified, although the actual sort at the moment occurs only on the first field (#606).
Attempting to sort an empty object returns the object itself instead of crashing (#608).
What's Changed
- Validate xlim, ylim and zlim in plot_AbanicoPlot() by @mcol in https://github.com/R-Lum/Luminescence/pull/582
- Complete coverage for calc_CosmicDoseRate.R by @mcol in https://github.com/R-Lum/Luminescence/pull/583
- Replace sapply(x, length) and similar with lengths() by @mcol in https://github.com/R-Lum/Luminescence/pull/585
- Fix crash in calc_FastRatio() on RLum.Analysis objects by @mcol in https://github.com/R-Lum/Luminescence/pull/587
- Check that irradiation steps are available if the originator is read_XSYG2R by @mcol in https://github.com/R-Lum/Luminescence/pull/590
- Fix regression in plot generated by analyse_FadingMeasurement() by @mcol in https://github.com/R-Lum/Luminescence/pull/591
- Fix the minimum device plot size checks in analyse_pIRIRSequence() by @mcol in https://github.com/R-Lum/Luminescence/pull/594
- Tighten checks on inputs and consolidate code in calc_CosmicDoseRate() by @mcol in https://github.com/R-Lum/Luminescence/pull/596
- Tighten the outlier threshold in calc_FadingCorr() by @mcol in https://github.com/R-Lum/Luminescence/pull/598
- Improve validation and documentation of calc_FadingCorr() arguments by @mcol in https://github.com/R-Lum/Luminescence/pull/600
- Improve validation against a character vector by @mcol in https://github.com/R-Lum/Luminescence/pull/602
- Fix crash in analyse_FadingMeasurement() if not enough curves are available by @mcol in https://github.com/R-Lum/Luminescence/pull/604
- Fix crashes in sort_RLum() if more than one field is specified by @mcol in https://github.com/R-Lum/Luminescence/pull/607
- Don't crash when sorting an empty RLum.Analysis object by @mcol in https://github.com/R-Lum/Luminescence/pull/609
Full Changelog: https://github.com/R-Lum/Luminescence/compare/v1.0.0...v1.0.1
- R
Published by mcol about 1 year ago
Luminescence - v1.0.0 (CRAN)
Changes in version 1.0.0 (2024-02-21)
New functions
apply_Crosstalk(),calc_MoransI(),plot_SingleGrainDisc()andplot_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.MortarDatadata 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.framethat can be used for instance in combination with'ggplot2'. It works only onRLum.Data.Curve-classandRLum.Analysis-classobjects and lists of such objects.merge_RLum.Data.Spectrum(): This new function allows to merge two or moreRLum.Data.Spectrumobjects in different ways (#368, fixed in #419).add_metadata(),rename_metadata(),replace_metadata(): These function allow to manipulate the metadata ofRisoe.BINfileData,RLum.AnalysisandRLum.Dataobjects (#480, fixed in #514, #524, #525, #527, #534, #545).sort_RLum(): Allows to sort the records ofRLum.AnalysisandRisoe.BINfileDataobjects 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
readxlpackage: 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.singleoption, which was available for several functions, sometimes under a slightly different name, has now been renamed toplot_singlePanelsfor 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.MCoption ofplot_GrowthCurve()has now been renamed ton.MCfor 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
recordTypeis specified and none of the records in the data set is of that type (#487, fixed in #488).
analyse_baSAR()
- Argument
XLS_filehas been replaced byCSV_fileand, as mentioned above, the function now only accepts CSV files as input (#237, fixed in #270). - Add support for
recordTypepassed toget_RLumin the additional arguments. - Option
plot.singlehas 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.BINFileDataobject was provided and the argumentirradiation_timeswas 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 using
variable.nameswithin themethod_controlargument (#521, fixed in #522).
analyse_SAR.CWOSL()
- The function crashed for a list input that led to
NULLfor 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.Resultsobject 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.Analysisobject 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.Analysisinput files (#283, fixed in #288). - Option
plot.singlehas 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 new
num_slide_windowssetting (part of themethod.controloption), 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_structuremisspecifications (#393, fixed in #394). - Some data preparation steps where not correctly applied for
method = "VSLIDE"(#396, fixed in #397). - Option
method.controlhas been renamed tomethod_controlfor consistency with all other functions in the package (#411, fixed in #412).
analyse_pIRIRSequence()
- Option
plot.singlehas been renamed toplot_singlePanels(#351, fixed in #408). - The produced
RLum.Resultsobject now also contains a column for the grain (#553, fixed in #554). - The function now checks that the
sequence.structureargument contains at least one IR step (#579, fixed in #580).
analyse_SAR.CWOSL()
- Option
plot.singlehas 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_RLumthat 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.rmis now deprecated: the function will now always remove missing values, as otherwise the presence of anyNAwould propagate and produce unusable results (allNAs) 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 allowingsigmato become zero leads to infinities and buggy behaviour (also fixed in #304).
calc_FastRatio()
- A number of crashes related to input validation have been fixed (#471, fixed in #472).
calc_FiniteMixture()
- Arguments
dose.scaleandpdf.scalewere not used and have been removed (#566, fixed in #567).
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 the
rprimevector 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 therprimeargument (#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/Tnerror 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 for
METADATAare 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
startDatewas missing in the irradiation curve; fixed.
fit_CWCurve()
- 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). - Argument
output.terminalhas been renamed toverbosefor consistency with other functions. - The function has gained the new
method_controlargument, 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
option
export.plot.data = TRUEwithin themethod_controlargument (#569, fixed in #570 and #573).
fit_LMCurve()
- The function has gained the new
method_controlargument, 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
subsetoption was used on info elements of anRLum.Analysisobject, 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
charactervectors 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
for
z.log = TRUE(the default); fixed. - Support for
tclandtckarguments via...was removed as they were never used internally.
plot_DetPlot()
- Option
plot.singlehas been renamed toplot_singlePanels(#351, fixed in #408).
plot_DRTResults()
- The function crashed if option
na.rmwas used alongside thepreheatoption 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()) forlegend(turn on/off legend) andreg_points_pchfor fine grained control over the point shape. - Add
density_polygon,density_polygon_col,density_rug,boxas...arguments to plot and add respective plot options - The function crashed for single grain data that sometimes caused a lot of
NaNvalues 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.singlehas 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.Resultsas 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.MChas been renamed ton.MC(#546, fixed in #547).
plot_RLum.Analysis()
- Option
plot.singlehas been renamed toplot_singlePanels(#351, fixed in #408).
plot_RLum.Data.Curve()
- Argument
normis 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.rowsorbin.colsvalue was set too high or ifxlimandylimwere 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.recordsis now better supported for BIN files v3 and v4 and doesn't lead to a crash when used in conjunction with thefastForwardoption (#343, fixed in #344). - Argument
zero_data.rmwas not correctly propagated if the input object was provided as a list (#342, fixed in #345). - The
METADATAfields that are not actually read from the BINX file in case of a ROI record are now set toNArather than being assigned the value from the previous record (#336, fixed in #360). - The
.RESERVEDslot 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).
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_recordsargument 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_singlehas been renamed toplot_singlePanelsand was changed so thatplot_singlePanels = TRUEwill produce one plot per panel, for consistency with other functions (#351, fixed in #408).
template_DRAC()
- The function gained a new argument
file_inputthat 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_rangeargument 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_ignoreto ignore the DRAC version check,userandpasswordto 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 = TRUEthe result was not consistent and produced a mixture ofRLum.ResultsandRLum.Analysis/Risoe.BINFileDataobjects 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.Analysisobjects 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 for
cleanup = TRUE. - The function now provides better terminal feedback if the selection results in an empty record.
- Add a new logical argument
use_fftthat will apply an additional Fast Discrete Fourier Transform (FFT) verification on the data if wanted.
write_R2BIN()
- The function now supports the
verboseargument, which can be used to suppress output to the terminal (#442, fixed in #444).
What's Changed
- Post release version bump by @mcol in https://github.com/R-Lum/Luminescence/pull/240
- Don't use the bbmle::profile() tryharder option in calcMinDose() by @mcol in https://github.com/R-Lum/Luminescence/pull/241
- Remove the windows-2019 (oldrel) instance from the CI actions by @mcol in https://github.com/R-Lum/Luminescence/pull/242
- Add the expectsnapshotRLum() test helper and start using it by @mcol in https://github.com/R-Lum/Luminescence/pull/244
- Correct the rejection.criteria data frame created by analyse_SAR.TL() by @mcol in https://github.com/R-Lum/Luminescence/pull/246
- Fix crashes in analyse_SAR.TL() by @mcol in https://github.com/R-Lum/Luminescence/pull/247
- Silence notes raised by R CMD check by @mcol in https://github.com/R-Lum/Luminescence/pull/249
- Use add = TRUE with on.exit() by @mcol in https://github.com/R-Lum/Luminescence/pull/255
- Replace the implementation of .throwerror() and .throwwarning() by @mcol in https://github.com/R-Lum/Luminescence/pull/256
- Set calc_Kars2008() as defunct by @mcol in https://github.com/R-Lum/Luminescence/pull/257
- Improve validation of choices for character arguments by @mcol in https://github.com/R-Lum/Luminescence/pull/259
- Ignore emacs backup and temporary files by @mcol in https://github.com/R-Lum/Luminescence/pull/260
- Add some more tests for functions that call .smoothing() by @mcol in https://github.com/R-Lum/Luminescence/pull/261
- Remove the dependency on the zoo package by @mcol in https://github.com/R-Lum/Luminescence/pull/262
- Validate the norm argument in plot_RLum.Data.Curve() by @mcol in https://github.com/R-Lum/Luminescence/pull/263
- Remove deprecated arguments in plot_KDE() by @mcol in https://github.com/R-Lum/Luminescence/pull/266
- Deprecate AnalyseSAR.OSLdata() in favour of analyseSAR.CWOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/264
- Extract curve normalisation code into an internal helper function by @mcol in https://github.com/R-Lum/Luminescence/pull/267
- Increase coverage in analyse_pIRIRSequence.R by @mcol in https://github.com/R-Lum/Luminescence/pull/268
- Complete coverage for .import_ThermochronometryData.R by @mcol in https://github.com/R-Lum/Luminescence/pull/269
- Remove the dependency on the readxl package by @mcol in https://github.com/R-Lum/Luminescence/pull/270
- Some small coverage increases by @mcol in https://github.com/R-Lum/Luminescence/pull/271
- Add the .collapse() helper function by @mcol in https://github.com/R-Lum/Luminescence/pull/272
- Add a snapshot test for analyse_baSAR() by @mcol in https://github.com/R-Lum/Luminescence/pull/274
- Don't fail in analyse_baSAR() if no record is selected and other code cleanup by @mcol in https://github.com/R-Lum/Luminescence/pull/275
- Add a batch of snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/276
- Add the .validate_class() internal helper function by @mcol in https://github.com/R-Lum/Luminescence/pull/279
- Fix minor losses of coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/280
- Fix crash in analyse_FadingMeasurement() with BIN version older than 05 by @mcol in https://github.com/R-Lum/Luminescence/pull/282
- Add the .requiresuggestedpackage() helper function by @mcol in https://github.com/R-Lum/Luminescence/pull/284
- Don't crash in calc_AverageDose() on some RLum.Results objects by @mcol in https://github.com/R-Lum/Luminescence/pull/286
- Rename .matchargs() to .validateargs() and improve its error message by @mcol in https://github.com/R-Lum/Luminescence/pull/287
- Fix crash in analyse_FadingMeasurement() on an RLum.Analysis object with plot = TRUE by @mcol in https://github.com/R-Lum/Luminescence/pull/288
- Add snapshot tests for analyse_SAR.CWOSL() and increase its coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/289
- Add the .getkeywordcoordinates() helper function by @mcol in https://github.com/R-Lum/Luminescence/pull/291
- small improvements to .validatepositivescalar() by @mcol in https://github.com/R-Lum/Luminescence/pull/292
- Add snapshot tests and consolidate code in Second2Gray() by @mcol in https://github.com/R-Lum/Luminescence/pull/293
- Consolidate code and increase coverage in plot_RLum.Analysis() by @mcol in https://github.com/R-Lum/Luminescence/pull/295
- Remove unexplained term from error calculation in calc_Lamothe2003() by @mcol in https://github.com/R-Lum/Luminescence/pull/296
- Fix crash in fit_OSLLifeTimes() by @mcol in https://github.com/R-Lum/Luminescence/pull/301
- Add the .listify() internal helper function by @mcol in https://github.com/R-Lum/Luminescence/pull/303
- Various fixes to calc_CentralDose() and snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/304
- Validate input data to plot_RLum() by @mcol in https://github.com/R-Lum/Luminescence/pull/306
- Add snapshot tests for plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/308
- Address some problems in plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/309
- Consolidate code for the QDR method in plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/310
- Replace uses of stop() and warning() with throwing functions by @mcol in https://github.com/R-Lum/Luminescence/pull/311
- Adapt the plot_GrowthCurve() snapshot tests to run on R 4.3.3 by @mcol in https://github.com/R-Lum/Luminescence/pull/313
- Add snapshot tests for calc_CosmicDoseRate() by @mcol in https://github.com/R-Lum/Luminescence/pull/314
- Consolidate code in calc_CosmicDoseRate() by @mcol in https://github.com/R-Lum/Luminescence/pull/315
- Consolidate code for the EXP methods in plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/316
- more code consolidation in plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/317
- split fitGrowthCurve() from plotGrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/318
- Store the fit_DoseResponseCurve() arguments in RLum.Results by @mcol in https://github.com/R-Lum/Luminescence/pull/321
- Redesign plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/322
- fix warning in the analyse_portableOSL() tests by @mcol in https://github.com/R-Lum/Luminescence/pull/324
- Resolve note about multiple local function definitions by @mcol in https://github.com/R-Lum/Luminescence/pull/325
- Add the verbose argument to .download_file() by @mcol in https://github.com/R-Lum/Luminescence/pull/327
- Don't crash when coercing an empty list to RLum.Data objects by @mcol in https://github.com/R-Lum/Luminescence/pull/328
- Small cleanups in read_BIN2R() by @mcol in https://github.com/R-Lum/Luminescence/pull/331
- Uniform the messages reported when importing files by @mcol in https://github.com/R-Lum/Luminescence/pull/332
- Speed up the reading of BIN/BINX files by @mcol in https://github.com/R-Lum/Luminescence/pull/333
- Use seek() to move forward in the connection in read_BIN2R() by @mcol in https://github.com/R-Lum/Luminescence/pull/335
- Fix checks on field sizes in read_BIN2R() by @mcol in https://github.com/R-Lum/Luminescence/pull/339
- Return also the computed De without abs() from fit_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/341
- Always recompute the record index at the end of read_BIN2R() by @mcol in https://github.com/R-Lum/Luminescence/pull/344
- deal better with zero-data records by @mcol in https://github.com/R-Lum/Luminescence/pull/345
- Further increase coverage in read_BIN2R.R by @mcol in https://github.com/R-Lum/Luminescence/pull/347
- Update the .RESERVED slot when records are dropped in read_BIN2R() by @mcol in https://github.com/R-Lum/Luminescence/pull/348
- Fix warning message and restore coverage in analyse_pIRIRSequence() by @mcol in https://github.com/R-Lum/Luminescence/pull/350
- Don't crash when reading a corrupt BIN file by @mcol in https://github.com/R-Lum/Luminescence/pull/353
- some more coverage in read_BIN2R.R by @mcol in https://github.com/R-Lum/Luminescence/pull/354
- Use data.table operations before generating the output object by @mcol in https://github.com/R-Lum/Luminescence/pull/355
- Deals with NAs when computing densities in plot_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/359
- Consolidate the reading of the first few BIN/BINX fields by @mcol in https://github.com/R-Lum/Luminescence/pull/357
- Create the METADATA data.table by columns instead of by rows by @mcol in https://github.com/R-Lum/Luminescence/pull/360
- Return empty objects from read_BIN2R() when no records are kept by @mcol in https://github.com/R-Lum/Luminescence/pull/361
- Recalculate the record index only once at the end of read_BIN2R() by @mcol in https://github.com/R-Lum/Luminescence/pull/363
- Don't let verify_SingleGrainData() crash on an empty list input by @mcol in https://github.com/R-Lum/Luminescence/pull/366
- Improve terminal feedback in fit_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/367
- Add snapshot tests for calcOSLLxTxDecomposed() and calcOSLLxTxRatio() by @mcol in https://github.com/R-Lum/Luminescence/pull/370
- Streamline the reading of strings in read_BIN2R() by @mcol in https://github.com/R-Lum/Luminescence/pull/375
- Extract shared code to calculate the LxTx error to an internal helper by @mcol in https://github.com/R-Lum/Luminescence/pull/376
- Add snapshot tests for merge_RLum.Data.Curve() by @mcol in https://github.com/R-Lum/Luminescence/pull/378
- Ensure to get a unique channel resolution in merge_RLum.Data.Curve() by @mcol in https://github.com/R-Lum/Luminescence/pull/379
- Fix the colour ramps in plot_RLum.Data.Spectrum() by @mcol in https://github.com/R-Lum/Luminescence/pull/380
- Check if the originator is not NA before using it in a comparison by @mcol in https://github.com/R-Lum/Luminescence/pull/383
- Don't listify the method.control argument when the input object is a list by @mcol in https://github.com/R-Lum/Luminescence/pull/384
- Add more coverage to the DRAC functions by @mcol in https://github.com/R-Lum/Luminescence/pull/385
- Add snapshot tests for read_BIN2R() by @mcol in https://github.com/R-Lum/Luminescence/pull/387
- improve performance of srcanalyseIRSARRF_SRS() by @mcol in https://github.com/R-Lum/Luminescence/pull/388
- Eliminate code in methods_DRAC.R that shouldn't be required anymore by @mcol in https://github.com/R-Lum/Luminescence/pull/389
- Increase coverage in analyse_IRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/392
- Better validation of sequencestructure in analyseIRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/394
- Use bquote() inside expression() as 'expression' may show in the title by @mcol in https://github.com/R-Lum/Luminescence/pull/391
- Code cleanup and validation of RFnat.lim and RFreg.lim by @mcol in https://github.com/R-Lum/Luminescence/pull/395
- Consider also VSLIDE when preparing some arguments for method = SLIDE by @mcol in https://github.com/R-Lum/Luminescence/pull/397
- Allow tuning the number of windows created while sliding by @mcol in https://github.com/R-Lum/Luminescence/pull/398
- Improve performance of srcanalyseIRSARRF_SRS() with optimization at -O2 by @mcol in https://github.com/R-Lum/Luminescence/pull/399
- Add some extra checks after limitations to the curves are applied by @mcol in https://github.com/R-Lum/Luminescence/pull/402
- Clean up some of the code in analyse_IRSAR.IR() and increase coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/403
- Clarify code for the computation of algorithmerror in analyseIRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/406
- Rename the plot.single option to plot_singlePanels by @mcol in https://github.com/R-Lum/Luminescence/pull/408
- Fix crash in analyse_baSAR() if n.MCMC is equal to the thinning interval by @mcol in https://github.com/R-Lum/Luminescence/pull/409
- Rename method.control to methodcontrol in analyseIRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/412
- Integrate the newfeatures/devcalcEED model branch by @mcol in https://github.com/R-Lum/Luminescence/pull/410
- Clean up calcEEDModel() and increase coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/413
- Add an internal helper function to validate the expected length of an input by @mcol in https://github.com/R-Lum/Luminescence/pull/414
- Fix crashes in plot_RLum.Data.Spectrum() with bin.rows/bin.cols too high by @mcol in https://github.com/R-Lum/Luminescence/pull/416
- Improve input validation in plot_RLum.Data.Spectrum() by @mcol in https://github.com/R-Lum/Luminescence/pull/417
- Implement merge_RLum.Data.Spectrum() by @mcol in https://github.com/R-Lum/Luminescence/pull/419
- Add a batch of snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/420
- Add a bunch of snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/425
- Introduce the .throw_message() helper by @mcol in https://github.com/R-Lum/Luminescence/pull/426
- Don't compute a confidence interval when only one observation is available by @mcol in https://github.com/R-Lum/Luminescence/pull/428
- Use correct variable name when rounding in calc_IEU.R by @mcol in https://github.com/R-Lum/Luminescence/pull/430
- Remove unnecessary loops in calc_IEU() and improve validation by @mcol in https://github.com/R-Lum/Luminescence/pull/431
- Consolidate code in calc_IEU() by @mcol in https://github.com/R-Lum/Luminescence/pull/432
- Fix various crashes in calc_IEU() by @mcol in https://github.com/R-Lum/Luminescence/pull/433
- Make fit_DoseResponseCurve() accept a list as input by @mcol in https://github.com/R-Lum/Luminescence/pull/434
- Add option to control the largest acceptable temperature difference by @mcol in https://github.com/R-Lum/Luminescence/pull/437
- Make the pattern in the identifiers submitted to DRAC not discoverable by @mcol in https://github.com/R-Lum/Luminescence/pull/438
- Improve input validation for a logical input by @mcol in https://github.com/R-Lum/Luminescence/pull/441
- Add the verbose option to write_R2BIN() by @mcol in https://github.com/R-Lum/Luminescence/pull/444
- Fix subset expression in extract_IrradiationTimes() by @mcol in https://github.com/R-Lum/Luminescence/pull/446
- Generate automatically the list of functions supported by import_Data() by @mcol in https://github.com/R-Lum/Luminescence/pull/447
- Improve input validation against an empty RLum.Results object by @mcol in https://github.com/R-Lum/Luminescence/pull/449
- Consolidate code and increase coverage in plot_KDE() by @mcol in https://github.com/R-Lum/Luminescence/pull/450
- Complete coverage for fit_LMCurve.R by @mcol in https://github.com/R-Lum/Luminescence/pull/451
- Replace uses of any(is.na(x)) with anyNA(x) by @mcol in https://github.com/R-Lum/Luminescence/pull/452
- Increase coverage in fit_OSLLifeTimes.R by @mcol in https://github.com/R-Lum/Luminescence/pull/453
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/455
- Fix crash in analyse_FadingMeasurement() if all records get removed by @mcol in https://github.com/R-Lum/Luminescence/pull/456
- Improve input validation against a list with an empty RLum.Results object by @mcol in https://github.com/R-Lum/Luminescence/pull/458
- Fix crashes in trimRLum.Data() caused by misspecifications in trimrange by @mcol in https://github.com/R-Lum/Luminescence/pull/461
- Improve input validation against an empty list by @mcol in https://github.com/R-Lum/Luminescence/pull/463
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/464
- Improve input validation against an empty data frame by @mcol in https://github.com/R-Lum/Luminescence/pull/467
- Check that we have enough data to fit the non-linear models in fit_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/465
- More coverage and code consolidation by @mcol in https://github.com/R-Lum/Luminescence/pull/469
- Fix crashes in calc_FastRatio() by @mcol in https://github.com/R-Lum/Luminescence/pull/472
- Fix bounds in fit_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/473
- Fix crash in plot_DRTResults() due to wrong subsetting by @mcol in https://github.com/R-Lum/Luminescence/pull/475
- Improve input validation against an empty RLum.Analysis object by @mcol in https://github.com/R-Lum/Luminescence/pull/477
- Ensure errors are non-negative in calc_gSGC() by @mcol in https://github.com/R-Lum/Luminescence/pull/481
- Fix how testparameters is listified in analyseAl2O3C_Measurement() by @mcol in https://github.com/R-Lum/Luminescence/pull/482
- Rename the 'sample' argument to 'object' in fit_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/484
- Improve input validation against and empty character vector by @mcol in https://github.com/R-Lum/Luminescence/pull/486
- Stop if using recordType returns no records in analyseAl2O3CCrossTalk() by @mcol in https://github.com/R-Lum/Luminescence/pull/488
- Add view() for RLum objects by @mcol in https://github.com/R-Lum/Luminescence/pull/490
- Remove unused setGeneric() for view() by @mcol in https://github.com/R-Lum/Luminescence/pull/491
- Improve input validation against an empty RLum.Data.Image object by @mcol in https://github.com/R-Lum/Luminescence/pull/493
- A bit more coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/494
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/495
- Improve input validation against an empty RLum.Data.Curve object by @mcol in https://github.com/R-Lum/Luminescence/pull/497
- Rename Second2Gray() to convert_Second2Gray() and set it to defunct by @mcol in https://github.com/R-Lum/Luminescence/pull/500
- Improve validation against an empty RLum.Data.Spectrum object by @mcol in https://github.com/R-Lum/Luminescence/pull/502
- Rename the CW2p() functions to convert_CW2p() and deprecate them by @mcol in https://github.com/R-Lum/Luminescence/pull/503
- Fix computation of the natural dose for QDR/LIN extrapolation in fit_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/505
- Code consolidation in fit_DoseResponseCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/506
- Improve validation against a list with an empty RLum.Data.Curve by @mcol in https://github.com/R-Lum/Luminescence/pull/508
- Catch failures from confint() in fit_CWCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/510
- Improve validation against an empty matrix by @mcol in https://github.com/R-Lum/Luminescence/pull/512
- Add explicit support for disabling the fitting in analyse_IRSAR.RF() by @mcol in https://github.com/R-Lum/Luminescence/pull/513
- Improve validation against an Risoe.BINfileData object by @mcol in https://github.com/R-Lum/Luminescence/pull/516
- Add the replace_metadata<-() method for the Risoe.BINfileData class by @mcol in https://github.com/R-Lum/Luminescence/pull/514
- Check that data size is compatible with the number of positions in analyse_baSAR() by @mcol in https://github.com/R-Lum/Luminescence/pull/518
- Improve validation against a list of RLum.Analysis objects by @mcol in https://github.com/R-Lum/Luminescence/pull/520
- Fix crashes and messages when setting
variable.namesin analyse_baSAR() by @mcol in https://github.com/R-Lum/Luminescence/pull/522 - Add the replace_metadata<-() method for the RLum.Data class by @mcol in https://github.com/R-Lum/Luminescence/pull/524
- Add the replace_metadata<-() method for the RLum.Analysis class by @mcol in https://github.com/R-Lum/Luminescence/pull/525
- Add the add_metadata<-() generic and methods by @mcol in https://github.com/R-Lum/Luminescence/pull/527
- Reorganize the generics into a single file by @mcol in https://github.com/R-Lum/Luminescence/pull/530
- Fix shifting of the curve away from zero in analyse_SAR.CWOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/531
- Fix crash when non-positive values are given to calc_AverageDose() by @mcol in https://github.com/R-Lum/Luminescence/pull/533
- Add functionality to remove metadata using replace_metadata() by @mcol in https://github.com/R-Lum/Luminescence/pull/534
- Import of thermochronometry code and tests by @mcol in https://github.com/R-Lum/Luminescence/pull/535
- Allow to control the ITLmodel argument from analyseThermochronometryData() by @mcol in https://github.com/R-Lum/Luminescence/pull/536
- Increase coverage in plot_RLum.Results.R by @mcol in https://github.com/R-Lum/Luminescence/pull/537
- Fix crashes in calc_Huntley2006() if the model is misspecified by @mcol in https://github.com/R-Lum/Luminescence/pull/539
- Add some snapshot tests by @mcol in https://github.com/R-Lum/Luminescence/pull/540
- Speed up calc_Huntley2006() by @mcol in https://github.com/R-Lum/Luminescence/pull/541
- Restore the dose response curve plots in calc_Huntley2006() by @mcol in https://github.com/R-Lum/Luminescence/pull/544
- Speed up calc_Huntley2006(): set a more consistent default for rprime by @mcol in https://github.com/R-Lum/Luminescence/pull/542
- Add the rename_metadata<-() generic and methods by @mcol in https://github.com/R-Lum/Luminescence/pull/545
- Finish renaming of NumberIterations.MC to n.MC in plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/547
- Handle failure of the unfaded EXP model in calc_Huntley2006() by @mcol in https://github.com/R-Lum/Luminescence/pull/550
- Plot the natural curve for extrapolation also in the negative quadrant by @mcol in https://github.com/R-Lum/Luminescence/pull/552
- Add grain to the RLum.Results object produced by analyse_SAR.CWOSL() by @mcol in https://github.com/R-Lum/Luminescence/pull/554
- Rename PSL2Risoe.BINfileData() to convert_PSL2Risoe.BINfileData() by @mcol in https://github.com/R-Lum/Luminescence/pull/556
- Fix rhoprime resulting in NaN in analyseFadingMeasurement() by @mcol in https://github.com/R-Lum/Luminescence/pull/559
- fit_IsothermalHolding(): define the models as functions rather than strings by @mcol in https://github.com/R-Lum/Luminescence/pull/557
- New: functions underlaying paper "A novel tool to access crosstalk in luminescence detection" Anna-Maartje de Boer, Luc Steinbuch by @LucSteinbuch in https://github.com/R-Lum/Luminescence/pull/560
- Improve fitting of the BTS model in fit_IsothermalHolding() by @mcol in https://github.com/R-Lum/Luminescence/pull/561
- Produce a data frame with the fitted parameters from fit_IsothermalHolding() by @mcol in https://github.com/R-Lum/Luminescence/pull/564
- Fix warnings from fit_IsothermalHolding() when processing multiple samples by @mcol in https://github.com/R-Lum/Luminescence/pull/565
- Remove unused dose.scale and pdf.scale arguments from calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/567
- Use fully-qualified names to reduce some explicit imports by @mcol in https://github.com/R-Lum/Luminescence/pull/568
- Return data.frame of curve points from fit_EmissionSpectra() by @mcol in https://github.com/R-Lum/Luminescence/pull/570
- Implement sort_RLum() for RLum.Analysis objects by @mcol in https://github.com/R-Lum/Luminescence/pull/571
- Make the export additional data optional in fitEmissionSpectra(), fitCWCurve() and fit_LMCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/573
- Fix single page layout of SAR.CWOSL plots from analyse_pIRIRSequence() by @mcol in https://github.com/R-Lum/Luminescence/pull/575
- Implement sort_RLum() for Risoe.BINfileData objects by @mcol in https://github.com/R-Lum/Luminescence/pull/576
- Make fitLMCurve() and fitCWCurve() more resilient to plot failures by @mcol in https://github.com/R-Lum/Luminescence/pull/578
- Ensure that sequence.structure contains at least one IR step by @mcol in https://github.com/R-Lum/Luminescence/pull/580
New Contributors
- @LucSteinbuch made their first contribution in https://github.com/R-Lum/Luminescence/pull/560
Full Changelog: https://github.com/R-Lum/Luminescence/compare/v0.9.25...v1.0.0
- R
Published by mcol over 1 year ago
Luminescence - v0.9.26 (CRAN)
Changes in version 0.9.26 (2024-11-18)
Removed functions
- Function
calc_Kars2008()(deprecated since version 0.8.1) is now officially defunct,calc_Huntley2006()should be used instead (#252, fixed in #257).
Bugfixes
analyse_pIRIRSequence()
- The function crashed with a object merge error if run in a loop
because of a
merge_RLum()error. This was caused by a regression while implementing then_Ncalculation inplot_GrowthCurve(). Potentially affected was alsoanalyse_SAR.CWOSL(). - The function now shows a warning and sets
plot = FALSEwhen optionplot.single = FALSEis set but the device size is too small. This should prevent “Figure margins too large” errors. - The function will not crash anymore during the plotting in another edge case related to single grain data.
analyse_SAR.CWOSL()
- The function crashed for mixed set of
RLum.Analysis-classobjects 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()
- The function now produces a more correct
rejection.criteriadata frame (#245, fixed in #246). - Several edge cases that led to crashes have been fixed (#147, fixed in #247).
get_RLum()
- When the function was used on a list of
RLum.Analysis-classobjects with the argumentnull.rm = TRUEit would remove allNULLobjects, but not elements that becamelist()(empty list) during the selection; fixed. - Fix an edge case that caused a rather non-expected, more visible
output problem. When curves were selected via
recordTypeonRLum.Analysis-classobjects (or a list of them) containing only a singleRLum.Data-classobject, the function returned theRLum.Data.Curve-classobject regardless of the selection inrecordType. In other words: if a user triedrecordType = "TL"on anRLum.Analysis-classobject 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 withNAin therecordTypename that led to missing values and unexpected behaviour for a logical comparison. Now, before the subset happens,NAvalues inrecordTypeare converted to"NA"(a character), allowing us to fix the incorrect subsetting.
plot_RLum.Data.Spectrum()
- Add support for
lphiandlthetalight direction arguments forplot.type = "persp". - Fix the reason for the unclear warning
In col.unique == col :longer object length is not a multiple of shorter object length
write_R2BIN()
- Recently, non-ASCII characters in comments or file names have become
more common and that led to crashes during the file export. To avoid
this, now all non-ASCII characters are replaced by
_before writing them to the BIN/BINX files. - The function now returns the file path of the export.
- Fix a bug that left connections open if the function crashed.
Internals
- Two new internal functions
.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).
What's Changed
- Post release version bump by @mcol in https://github.com/R-Lum/Luminescence/pull/240
- Don't use the bbmle::profile() tryharder option in calcMinDose() by @mcol in https://github.com/R-Lum/Luminescence/pull/241
- Remove the windows-2019 (oldrel) instance from the CI actions by @mcol in https://github.com/R-Lum/Luminescence/pull/242
- Add the expectsnapshotRLum() test helper and start using it by @mcol in https://github.com/R-Lum/Luminescence/pull/244
- Correct the rejection.criteria data frame created by analyse_SAR.TL() by @mcol in https://github.com/R-Lum/Luminescence/pull/246
- Fix crashes in analyse_SAR.TL() by @mcol in https://github.com/R-Lum/Luminescence/pull/247
- Silence notes raised by R CMD check by @mcol in https://github.com/R-Lum/Luminescence/pull/249
- Use add = TRUE with on.exit() by @mcol in https://github.com/R-Lum/Luminescence/pull/255
- Replace the implementation of .throwerror() and .throwwarning() by @mcol in https://github.com/R-Lum/Luminescence/pull/256
- Set calc_Kars2008() as defunct by @mcol in https://github.com/R-Lum/Luminescence/pull/257
Full Changelog: https://github.com/R-Lum/Luminescence/compare/v0.9.25...v0.9.26
- R
Published by mcol over 1 year ago
Luminescence - v0.9.25 (CRAN)
Changes in version 0.9.25 (2024-09-12)
This package version requires R >= 4.3
New functions
read_HeliosOSL2R(): New import function to support the new zero rad Helios luminescence reader and its.oslfile format. The output is anRLum.Analysis-classobject.
Bugfixes
analyse_baSAR()
- Fix #183 addressing an edge-case crash when the function was called on an object containing no records of the appropriate type (#184, @mcol).
analyse_FadingMeasurements()
- Add
...support to disable the blue trend line viaplot.trend = FALSE - Fix #175 to deal gracefully with the case when the size of Lx and Tx doesn’t match (#192, @mcol).
analyse_portableOSL()
- Function did not respect argument
main; fixed.
convert_Wavelength2Energy()
- Fix #133 addressing cases where R throws an uncontained error when R drops the object structure in very rare cases (#134; thanks @mcol)
calc_Huntley2006()
- Improve success rate of GOK fitting of the unfaded data using a two step approach: first an exponential fit is applied then this values are used as start parameters.
calc_Statistics()
- The skewness and kurtosis depended on number of MC samples (#122); fixed with #123 (thanks to @mcol)
calc_TLLxTxRatio()
- Function crashed for
Tx.data.background = NULL(#129); fixed with #130 thanks to @mcol
calc_WodaFuchs2008()
- The function now officially supports numeric vectors and single-column data frames as input (#200).
- The function computed the number of breaks for the histogram incorrectly (#197, fixed with #198).
- The function now supports more types of
RLum.Resultsobjects without crashing, although if the object contains only one data point it will stop immediately to avoid problems withnls()(#199, fixed in #219).
extract_IrradiationTimes()
- If a BIN/BINX-file is provided, the function will now check that it contains the same amount of data as the corresponding XSYG file a bit earlier than before, thus avoiding a possible crash (#228, fixed in #229).
fit_CWCurve()
- Argument
output.pathhas been removed, and a warning is raised when attempting to use it (#207, fixed in #209).
fit_EmissionSpectra()
- Parameter
input_scalewas not correctly propagated when the function would self-call (#160, @mcol).
fit_OSLLifeTimes()
- The validation of the minimum dataset size didn’t account for the use
of the
signal.rangeargument (#182, fixed by #195, @mcol).
fit_SurfaceExposure()
- Fix #162 to remove a dimension mismatch if the input data contained
NAs, which would generate unexpected warnings (#163, @mcol). - The function doesn’t stop anymore with an error if called on an
RLum.Resultsobject (#165, @mcol).
plot_AbanicoPlot()
- Argument
plot.ratiowill now throw an error on non-positive numerical values (#221, fixed in #222). - The function doesn’t crash anymore when setting
interactive = TRUE(#220, fixed in #233).
plot_DetPlot()
- Argument
signal.integral.maxis now enforced to be greater thansignal.integral.min, as otherwise the computation of the number of channels would produceInf(#203, fixed in #206). - Fix a crash when using option
analyse_function = "analyse_pIRIRSequence"(#210, fixed in #211).
plot_GrowthCurve()
- The function now calculates the relative saturation (
n/N) using the ratio of the two integrates. The value is part of the output table. - Argument
na.rmhas been removed: as of version 0.9.23, it was defunct and only acceptedTRUEas valid value and produced an error otherwise, so there is no effective change in behaviour (#137, fixed in #214).
plot_Histogram()
- The function doesn’t crash anymore when setting
interactive = TRUE(#186, fixed in #231).
plot_KDE()
- It now officially supports numeric vectors and single-column data frames, for which it assumes that the De error at each measurement is 10^-9 (#189, fixed in #194, @mcol).
plot_NRt()
- The function reports an helpful message rather than crashing when applied to an object of unexpected type or when there is a mismatch in time values (#177, fixed with #179 by @mcol).
plot_RadialPlot()
- The function doesn’t crash anymore when a single-column data frame is provided (#191, fixed in #212).
plot_RLum.Data.Analysis()
- The function now supports all arguments from
plot_RLum.Data.Spectrum(); before it had only basic functionality forRLum.Data.Spectrum-classdata.
plot_RLum.Data.Spectrum()
- The plot function can now handle non-increasing column values for plotting (with a warning).
read_BIN2R()
ignore.RECTYPEnow supports numeric values, e.g., 128. Records for this type will be ignored during import.- BINX-files with
RECTYPE = 128will not crash anymore, thanks for asking Anna-Maartje Boer and replying Karsten Bracht. - The function now stops graciously when attempting to read an empty file (#225, fixed in #226).
read_PSL2R()
- The function is out of the beta status, hence the flag was removed.
- The
RLum.Analysis-classobject returned by the function gained a new elementSequence, which is a data frame. with the measured sequence. This way, if the original sequence was lost, it can still be extracted from the.psldata. - If no
.pslfile was found the function got trapped in an infinite loop (#127); fixed with #128 (thanks to @mcol)
read_XSYG2R()
- Fix spectrometer data import for basically broken files.
read_Daybreak2R()
- Fix #135 to improve detection of non-ASCII files (#140, @mcol).
Risoe.BINfileData2RLum.Analysis()
- Fix a crash when reading an empty Risoe.BINfileData input (#215, fixed in #224).
Internals
- New internal function + tests added
.get_named_list_element(). It just does what the names says.
What's Changed
- Don't let a 1-column matrix become a vector in convert_Wavelength2Energy() by @mcol in https://github.com/R-Lum/Luminescence/pull/134
- Check length of gvalue argument in calcLamothe2003(). by @mcol in https://github.com/R-Lum/Luminescence/pull/132
- Fix crash in calc_TLLxTxRatio() if Tx.data.background=NULL. by @mcol in https://github.com/R-Lum/Luminescence/pull/130
- Improve input validation and complete coverage in read_PSL2R.R by @mcol in https://github.com/R-Lum/Luminescence/pull/128
- Complete coverage for read_RF2R.R. by @mcol in https://github.com/R-Lum/Luminescence/pull/126
- Increase coverage in calcgSGCfeldspar.R. by @mcol in https://github.com/R-Lum/Luminescence/pull/125
- complete coverage in calc_Statistics.R by @mcol in https://github.com/R-Lum/Luminescence/pull/124
- Fix computation of skewness and kurtosis with MCM. by @mcol in https://github.com/R-Lum/Luminescence/pull/123
- Fix error message and awkward code in plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/139
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/136
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/143
- Better detection of non-ASCII files in read_Daybreak2R.R by @mcol in https://github.com/R-Lum/Luminescence/pull/140
- Clean up input validation in calc_FiniteMixture() by @mcol in https://github.com/R-Lum/Luminescence/pull/142
- More coverage and some typos by @mcol in https://github.com/R-Lum/Luminescence/pull/145
- Don't pollute the working directory with generated output from testwriteRLum2CSV.R by @mcol in https://github.com/R-Lum/Luminescence/pull/149
- More coverage and typos by @mcol in https://github.com/R-Lum/Luminescence/pull/150
- Use nocov start/end to exclude untestable regions from coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/151
- Validation of scalar variable expected to be positive by @mcol in https://github.com/R-Lum/Luminescence/pull/152
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/153
- Remove duplicated list of authors from the DESCRIPTION file by @mcol in https://github.com/R-Lum/Luminescence/pull/154
- Fix .throwerror() and .throwwarning() by @mcol in https://github.com/R-Lum/Luminescence/pull/155
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/156
- Add option null.ok to .validatepositivescalar() by @mcol in https://github.com/R-Lum/Luminescence/pull/158
- Improve input validation in calc_FastRatio.R by @mcol in https://github.com/R-Lum/Luminescence/pull/159
- Propagate the inputscale argument in fitEmissionSpectra() by @mcol in https://github.com/R-Lum/Luminescence/pull/160
- Remove warnings from fit_SurfaceExposure() if data contains NAs by @mcol in https://github.com/R-Lum/Luminescence/pull/163
- More coverage and fixes by @mcol in https://github.com/R-Lum/Luminescence/pull/164
- two small errors in fit_SurfaceExposure() by @mcol in https://github.com/R-Lum/Luminescence/pull/165
- Remove test results for R version < 3.6 by @mcol in https://github.com/R-Lum/Luminescence/pull/166
- Switch globally to testthat 3rd edition by @mcol in https://github.com/R-Lum/Luminescence/pull/167
- Copy the tests/testdata files to tests/testthat/_data and package them by @mcol in https://github.com/R-Lum/Luminescence/pull/170
- Some more coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/171
- Include testthat/data into the package and update tests to refer to it by @mcol in https://github.com/R-Lum/Luminescence/pull/169
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/172
- Start silencing output from tests by @mcol in https://github.com/R-Lum/Luminescence/pull/173
- Small improvement in input validation in template_DRAC() by @mcol in https://github.com/R-Lum/Luminescence/pull/174
- Silence some more test output by @mcol in https://github.com/R-Lum/Luminescence/pull/176
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/178
- Silence some more test outputs by @mcol in https://github.com/R-Lum/Luminescence/pull/180
- fixes for crashes in plot_NRt() by @mcol in https://github.com/R-Lum/Luminescence/pull/179
- Don't pollute the workspace with example data when running tests by @mcol in https://github.com/R-Lum/Luminescence/pull/181
- Check that there are records in an object before subsetting from them by @mcol in https://github.com/R-Lum/Luminescence/pull/184
- Some more coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/185
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/188
- Simplify and correct the check for Inf in plot_KDE() by @mcol in https://github.com/R-Lum/Luminescence/pull/190
- Fix crash in analyse_FadingMeasurement() with different length objects by @mcol in https://github.com/R-Lum/Luminescence/pull/192
- Some more coverage and removal of unreachable code by @mcol in https://github.com/R-Lum/Luminescence/pull/193
- Support vectors and single-column data frames in plot_KDE() by @mcol in https://github.com/R-Lum/Luminescence/pull/194
- Add a check for zero-row input data to plot_KDE() by @mcol in https://github.com/R-Lum/Luminescence/pull/196
- Improve validation of data size in fit_OSLLifeTimes() by @mcol in https://github.com/R-Lum/Luminescence/pull/195
- Fix computation of number of breaks in calc_WodaFuchs2008() by @mcol in https://github.com/R-Lum/Luminescence/pull/198
- Support vectors and single-colums dataframes in calc_WodaFuchs2008() by @mcol in https://github.com/R-Lum/Luminescence/pull/200
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/201
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/204
- Validate signal and background integral values in plot_DetPlot() by @mcol in https://github.com/R-Lum/Luminescence/pull/206
- Finish silencing the test ouput by @mcol in https://github.com/R-Lum/Luminescence/pull/205
- Remove the output.path argument from fit_CWCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/209
- Add full support for single-column data frames to plot_RadialPlot() by @mcol in https://github.com/R-Lum/Luminescence/pull/212
- Fix crash in plotDetPlot(..., analysefunction = "analyse_pIRIRSequence") by @mcol in https://github.com/R-Lum/Luminescence/pull/211
- Remove the defunct na.rm option from plot_GrowthCurve() by @mcol in https://github.com/R-Lum/Luminescence/pull/214
- Better validation of the par argument of calc_MinDose() by @mcol in https://github.com/R-Lum/Luminescence/pull/218
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/213
- Validate the plot.ratio argument of plot_AbanicoPlot() by @mcol in https://github.com/R-Lum/Luminescence/pull/222
- Make calc_WodaFuchs2008() work on more RLum.Results objects by @mcol in https://github.com/R-Lum/Luminescence/pull/219
- Make Risoe.BINfileData2RLum.Analysis() deal with empty input objects by @mcol in https://github.com/R-Lum/Luminescence/pull/224
- Make .Risoe.BINfileData2RLum.Data.Curve() work without the id argument by @mcol in https://github.com/R-Lum/Luminescence/pull/227
- Make read_BIN2R() not crash when forcing a version on an empty file by @mcol in https://github.com/R-Lum/Luminescence/pull/226
- Improve consistency check in extract_IrradiationTime() by @mcol in https://github.com/R-Lum/Luminescence/pull/229
- More coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/230
- Fix crash when using interactive mode for plot_Histogram() by @mcol in https://github.com/R-Lum/Luminescence/pull/231
- Make interactive mode in plot_AbanicoPlot() functional again by @mcol in https://github.com/R-Lum/Luminescence/pull/233
- Fix S3 methods that didn't work by @mcol in https://github.com/R-Lum/Luminescence/pull/232
- Exclude untestable functions from coverage by @mcol in https://github.com/R-Lum/Luminescence/pull/235
- Remove duplicate check in write_R2BIN() and reword error message by @mcol in https://github.com/R-Lum/Luminescence/pull/236
New Contributors
- @mcol made their first contribution in https://github.com/R-Lum/Luminescence/pull/134
Full Changelog: https://github.com/R-Lum/Luminescence/compare/v0.9.24...v0.9.25
- R
Published by RLumSK over 1 year ago
Luminescence - v0.9.24 (CRAN)
Changes in version 0.9.24 (2024-06-07)
This package version requires R >= 4.3
New functions
trim_RLum.Data(): This new function enables trimming off the number of channels of all supportedRLum.Data-classon the time domain. For instance, an OSL curve (RLum.Data.Curve-class) has 1000 channels; one may want to extract only channels 10 to 100. Moreover, sometimes,RLum.Data-classobjects have a different number of channels but are otherwise measured with the exact time resolution. Until now, it was possible to merge those curves, but the subsequent analysis usually failed because most of the analysis functions check whether the number of channels matches.import_Data(): A convenience wrapper around all functions commencing withread_. The functions steps through all functions and the one that can import a file is chosen. This function simplifies writing of scripts for different data formats.
The Thermochronometry functions (internal)
- Add internal function to import thermochronometry XLSX sheets into R;
an R implementation of
STAGE1, ExcelToStructure; the function has no user visible use for the moment.
Bugfixes and changes
analyse_IRSARRF()
- The function crashed for
RF_nat.limsettings with two parameters; fixed (thanks to Mariana Sontag-Gonzalez for reporting) - The function gained a new argument option for
method:"VSLIDE". If set, the vertical sliding with the range set to"auto"is used for the estimation of the equivalent dose.
analyse_SAR.CWOSL()
- The function gained a new argument
trim_channels. The default isFALSEto do not break existing code. IfTRUEOSL and IRSL are curves are checked for the lowest number of channels on the curves and then all curves are trimmed accordingly usingtrim_RLum.Data(). This should fix an issue where data could not be analysed due to different channel numbers erroneously produced by the luminescence readers. - The dose points names are returned as
factors(which they are) instead ofcharacters, with their class in the correct order. If you expect character values this may break existing code. - The
$dataelement gained two new columnsALQandPOSwhere the functions tries to store data about the running aliquot number and the position of the aliquot in the reader. The latter can only be accessed if this information was provided in measurement data (e.g., XSYG or BIN/BINX) - The argument
rejection.criteriagained a new optionrecuperation_referencepreset to"Natural"to specify the regeneration reference dose point taken into account for calculating the recuperation rate (suggested by Anna-Maartje Boer and Jakob Wallinga)
calc_Huntely2006()
- If the age is
NAdue toLn/Tnvalues lower than the smallest simulatedLx/Txvalue, a warning with an explanation is returned. Thanks to Christina Neudorf for providing the test dataset. - Better catch a few uncontrolled errors and improve the success of the fitting (thanks to Salome Oehler for providing scripts and datasets)
- Regression: The changes in the last version led to unexpected function
behaviour in cases where users tried the fading correction with only a
few dose points in the lower part of the dose-response curve because
the fits were no longer forced through the origin. This issue is now
corrected, and the user can use the argument
fit.force_through_origin(which is passed down toplot_GrowthCurve()) to force the fit again through the origin (thanks to Junjie Zhang for reporting the issue).
convert_Activity2Concentration()
- The function did not work as expected if input was provided as abundance and the output data frame was missing values; fixed.
- The parameter
input_unitnow expects either"activity"(the default) or"abundance"instead of"Bq/kg"or"ppm/%'. The old input parameters are still silently accepted. - Potentially breaking change: The naming of the output data frame
now reports SI unit conform values, i.e. we
ppmis no longer acceptable because it might have different interpretations. To reflect this change, in the function title we replaced “concentration” with “abundance”.
read_BIN2R()
- Argument
n.recordscan now be provided as a vector to specifically select records for the import. All other records are skipped and not imported. This can be useful in particular for very large BIN/BINX-files because allows importing single records very quickly without parsing the entire file - The function is now less talkative for zero byte records and stopped spamming the console.
- The function learned about
RECTYPE128 records and can now import them (before those records were skipped). As it is in the original format, these information are only appended to the BIN/BINX file, means they do not really represent measurement data. Please note that this support is highly experimental! - The download of files now uses the new internal function
.download_file()
read_Daybreak2R()
- The function gained the
...argument for compatibility reasons
read_RF2R()
- The function gained the
...argument for compatibility reasons
read_SPE2R()
- The function gained the
...argument for compatibility reasons - The argument verbose was not fully respected; fixed
read_TIFF2R()
- The function gained the
...argument for compatibility reasons
read_XSYG2R()
- Tries a little bit harder to determine the correct file path.
- Returns the file path as
@infoobject in theRLum.Analysis-classoutput. - If the file is not readable it only shows the R error and not anymore the internal error.
plot_DetPlot()
- New argument
plot: The function gained the new parameterplotto provide the possibility to disable the plot output for more complex operations - Additional input: The function now understands lists of
RLum.Analysis-classobjects and iterates over those objects automatically. - New argument
multicore: As an addition to the list operation, the function can let it run in a multi core session - The legend displayed the wrong labels for the equivalent dose and the
Ln/Tnvalues; fixed. - The legend is now disabled by default if no shine-down curve is shown;
it can be activated again manually using
legend. - The par settings were not correctly reset; fixed.
- The function now supports the
trim_channelargument fromanalyse_SAR.CWOSL()
plot_GrowthCurve()
- Edge case: If the
Ln/Tnvalues was way below the fit andfit.method = EXPwas chosen for the fitting, the function still returned a positive equivalent dose formode = interpolation. Now the returned value isNAsince no interpolation was possible. - Minor graphical polish: the dashed lines are drawn to the end of the plot area.
plot_RLum()
- The function knows how to process results produces by
analyse_SAR.CWOSL(),analyse_pIRIRSequence()andanalyse_IRSARRF(); the functionality is very basic and for fast reporting situations only.
report_RLum()
- The file
*.Rdsfile path download did not function anymore; fixed. - The function threw an non-conclusive warning; fixed.
Risoe.BINfileData-class()
- The
showmethod now knows aboutRECTYPE128 and will account for it.
Risoe.BINFfileData2RLum.Analysis()
- The function learned about
RECTYPE128 records. Those records contain ROI data from camera measurements and are skipped for the moment because they do not really belong to measurement data. This may change future.
Internals
- Add internal download helper
.download_file()for a more consistent approach to detect URL schemes and download files across the package - Cover tricky edge case for the internal function
.expand_parameters(). The function is used to recycle and expand function parameters if the input is a list object. It apparently showed odd behaviour if a function was used in a loop with objects of its own, e.g.,f(x = i + 1), then the function would recyclei + 1and then evaluatei + 1in the function environment. Usually, this should throw an error, but in particular,iis an object name commonly used in loops, so the function went upwards in the environments until it found the firsti. However, this is not theiinserted by the user. The result was that the loop did not seem to work for no apparent reason. Now,.expand_parameters()evaluates input in the parent environment before passing it down.
- R
Published by RLumSK almost 2 years ago
Luminescence - v0.9.23 (CRAN)
Changes in version 0.9.23 (2023-11-03)
This package version requires R >= 4.2
Bugfixes and changes
analyse_portableOSL() (potentially breaking changes)
The function received a major update, including an updated output object. Please make sure that you read the changes before updating, because it may break your existing code!
- New argument
modeadded with two options'profile'(the default) and'surface'. The latter is intended for 2D surface interpolation of luminescence signals and was newly added. - New argument
coordadded, to allow the user to provide a list or matrix of xy-coordinates of the sampling position. If nothing is provided, the coordinates are extracted from the file name or an index is calculated. - The function now always translates input order in x and y coordinates, to have the treatment consistent.
- In profile mode, the function now returns also the dark count values with their standard deviation. The dark counts can also be plotted in the surface mode, although it probably does not make much sense.
invert = TRUEthe y-axis is now also inverted and the inversion works more consistently...argumentgrid(enabled by default) for better parameter reading...argumentsamplewas changed torunbetter complying with the terminology of the PSL format, where...argumentbg_imgwas added to provide a background image (e.g., a profile photo) for overlay the sample name is called run....supports a lot more arguments to enable better plot modifications in particular for the newly added surface interpolation mode.
calc_Huntley2006()
- The function can now handle
"extrapolation"forfit.method = "GOK"orfit.method = "EXP"and is therefore suited to additive measurement protocols. This implementation has beta character and needs further testing.
read_PSL()
- Remove unwanted characters less aggressively from sample name; with this new setting, coordinates can be passed.
plot_GrowthCurve()
- The function crashed for the setting
plot_GrowthCurve(..., mode = "alternate", fit.method = "LambertW"); fixed (#114, @Eiskeil, thanks for reporting). - Now throws a warning in
mode = "extrapolation", fit.method = "LambertW"of the standard root estimation failed and hence the results can become inconclusive. fit.method = "GOK"now supports fits that are not necessarily forced through the origin.- If the calculated fit weights were invalid, the parameter was not set always correctly set; fixed.
- Non-user visible change: the fit formula is now extracted more consistently and less error-prone.
- If the first
Lx/Txvalue was very high, the x-axis origin in the plot was not always shown by default. This was intended behaviour, however, sometimes this causes confusion. Now the axis origin is always shown. Still the axis limits can still be modified usingylimandxlim. (Thanks to Salome Oehler for flagging this issue). - The fitted curve now always extends to the plot margins.
Internals
- Adding new dependency to
'interp' - Remove dependency to orphaned package
'plotrix'; the code in one affected function was replaced using base R code
- R
Published by RLumSK over 2 years ago
Luminescence - v0.9.22 (CRAN)
Changes in version 0.9.22 (2023-08-07)
This package version requires R >= 4.1
New functions
subset_SingleGrainData(): the function provides a convenient sub setting ofRisoe.BINFileData-classobjects using a table of position and grain pairs
Bugfixes and changes
convert_PSL2CSV()
- The function still contained a bug if the parameters were combined in a certain way; fixed.
extract_IrradiationTimes()
- Now silently handles
RLum.Analysis-classobjects imported viaread_BIN2R(..., fastFoward = TRUE), this allows to use the function in a more general manner.
merge_RisoeBINfileData()
- Does not anymore throw an error if the number of input objects was smaller than two. It just passes the input through unchanged.
plot_DetPlot()
- The function now returns a clear error message if the input object is
not of type
RLum.Analysis - Edge case: the function does not crash anymore if used in a loop and
if all equivalent doses were
NA; it sill throws warnings though. (thanks to Annette Kadereit for reporting)
write_RLum2CSV()
- The behaviour of the parameter
prefixcaused confusion, because in combination with multiple files the function overwrote created files, although this was wanted behaviour now the prefix is always added to the automatically created files names.
- R
Published by RLumSK almost 3 years ago
Luminescence - v0.9.21 (CRAN)
Changes in version 0.9.21 (2023-02-03)
This package version requires R >= 4.1
Bugfixes and changes
analyse_portableOSL()
- The function can now handle a list of
RLum.Analysis-classobjects and automatically process them in a conventional way. Potential breaking change warning: the$summarydata frame gained an additional column,SAMPLE. If you access columns index-based, you have to double-check your code. The manual was updated accordingly. - A new
...argumentsamplewas added to allow adding information on the sample for the plot - The function did not like sequences with only one pair of OSL/IRSL and returned an error; fixed.
convert_PSL2CSV()
- Add new argument
single_tableto enable the export of PSL data into a single spreadsheet table (CSV file), each curve is represented by two columns - Add new argument
extract_raw_data, which allows extracting the raw data convienently. Those data are already imported byread_PSL2R()but they remain somewhat hidden in the@infoslots of eachRLum.Data.Curveobject.
fit_LMCurve()
- If the argument
fit.calcErrorwas set toTRUEand the parameter confidence interval calculation failed, the function stopped with an uncontrolled error. Now it shows a meaningful warning instead.
plot_RadialPlot()
- Fix a few visual problems if the dataset has negative values (thanks to Alice Versendaal for reporting)
read_BIN2R()
- Function crashed under edge conditions while testing concise records returning a subscript out-of-bounds error; fixed.
- The function struggled to read files from downloads (URL instead of a local file path) correctly on Windows machines; fixed.
write_RLum2CSV()
- The function now accepts
data.frameobjects as input. This has no particular advantage over the base R functions, such aswrite.csv()but is used internally in combination with other functions.
Internals
- Fix outdated URL in
github.R
- R
Published by RLumSK over 3 years ago
Luminescence - v0.9.20 (CRAN)
Changes in version 0.9.20 (2022-07-14)
This package version requires R >= 4.1
Bugfixes and changes
analyse_Al2O3C_Measurement()
- Add support for sequences without TL curves in the sequence; however, the function still expects three OSL curves for natural, regenerated, and background signal.
merge_RLum.Data.Curve()
- The function works better if curves of different lengths are merged, but it still throws an error if the resolution is not similar.
plot_RLum.Data.Curve()
- Add support for
...argumentslasandaxes
plot_RLum.Data.Spectrum()
The
plot.types = "single"andplot.type = "multiple.lines"had two long-standing issues with the colour rug (both are fixed):- The colour rug showed ugly overplotting,
- the colour rug had a resolution that depended on the x-axis (wavelength) scaling.
plot.types = "single"andplot.type = "multiple.lines"now support a...parameterboxfor removing the outer plot frame. The argument was namedboxto avoid a confusion with the term frames used for image stacks.plot.types = "single"andplot.type = "multiple.lines"now support a...parameterframesfor picking the frames to be visualised beyond the axis limitation.
plot_DRCSummary()
- The function did not know how to hand the output, if the fit was
LambertW; added. - The function now roughly checks whether all curves have used the same equation for the fitting, if not it throws an error.
- The
...arguments allowed to modify the plot are now mentioned in the documentation. - The
...are better recycled to avoid a function crash in case the user did not provide the arguments in the required length.
plot_GrowthCurve()
- The formula returned in the output if
fit.method = "LambertW"was not correct; fixed. The fit and the fitting were not affected; though.
read_BIN2R()
- The example in the documentation was a little bit too generic and is now replaced by an example that works.
write_R2BIN()
- The running example was not working because it used outdated example data. The example was replaced by a working example using an actual BINX-file. (thanks @JohannesFriedrich for reporting, #110)
- The terminal output of the function could not be silenced. Now the
output (except for the progress bar, which can be switched off) is a
message(), allowing to disable the terminal output.
Internals
- Add new internal function
.add_fancy_log_axis()to provide a more sophisticated log-axis to plots if needed with minor ticks and proper labelling. - Fix wrong usage of
class()where needed
- R
Published by RLumSK almost 4 years ago
Luminescence - v0.9.19 (CRAN)
Changes in version 0.9.19 (2022-03-10)
This package version requires R >= 4.0.5
New functions
extract_ROI(): Light-weighted function to extract pixel values from pre-defined regions-of-interest (ROI) fromRLum.Data.Image-class,arrayormatrixobjects and provide simple image processing capacity. While the function comes with a simple control plot output, the results can be passed also toplot_ROI()write_R2TIFF(): ExportRLum.Data.ImageandRLum.Data.Spectrumobjects or a list of such to TIFF Images. A convenient wrapper around the functiontiff::writeTIFF()
Bugfixes and changes
merge_RLum.Results()
- If elements of type
matrix,data.frameorvectorwere merged, usually attributes, additional to the standard attributes (e.g.,classfordata.frame) were lost during the merging. Now, such attributes are preserved so far they are not of a similar name as the standard object of the object element (e.g.,dimformatrixorclassfordata.frame). This small addition allows to merge more complex objects and retain all attributes for further processing.
plot_DRTResults()
- The plot messed with the
par()settings, which was problematic if, for instance, a second x-axis was wanted; fixed. - The function examples were not anymore up-to-date; fixed.
plot_RLum.Data.Image()
- Minor correction of the colour legend, which did always show the highest value
- New
...argumentzlim_imageto maintain a consistent z-scale over a series of images. - The colour stretching could fail for
linand a lot of zero values; fixed.
plot_RLum.Data.Spectrum()
- Fixed a bug that let
plot_RLum.Data.Spectrum()crash under very particular circumstances due to a wrong conditional statement. - If the count limits are oddly chosen, i.e.
limit_countsis smaller than the actual number of counts on the z-scale, the function does not crash anymore but replaces the value with the lowest possible value. - The argument
boxfor the plotperspnow acceptsalternatefor the customized plot without the box usually drawn around the plot. - The function now returns the adjusted matrix used for the plotting
regardless of whether the argument
plotis set toTRUEorFALSE. - If the plot type is
persp, the default, the “viewing transformation matrix” is returned as an attributepmat. This can be further used in conjunction with the functiongraphics::trans3dto add additional information to the graphic.
plot_FilterCombinations()
- The function returned a wrongly calculated optical density, using
log()instead oflog10; fixed.= Note: The shiny filter app was not immediately affected because the values here were taken from a spreadsheet. - The output object is now invisible since the function’s main purpose is to plot a graphic and not return an object.
plot_ROI()
- Add support for the new function
extract_ROI() - Add new argument
bg_imageto support background image plotting - The numerical output is now consistently
invisbleas it is for all plot functions in the package
- R
Published by RLumSK about 4 years ago
Luminescence - v0.9.18 (CRAN)
Changes in version 0.9.18 (2022-01-17)
This package version requires R >= 4.0.5
Breaking changes
Changes in RLum.Data.Image and removal of import 'raster'
The S4 class RLum.Data.Image was heavily revised to strip
'Luminescence' of the dependency to the package 'raster' and replace
the functionality with base R functions and objects. The 'raster'
package came in at an early stage of 'Luminescence' to handle image
data. However, most of its massive feature set was never used, but
'raster' caused a lot of trouble to many users and in our automated
tests because of its own dependencies. Soon, 'raster' will be retired
and replaced by an even more powerful package called 'terra'. This was
our cue to make some serious changes instead of carrying forward this
unfortunate implementation in 'Luminescence'.
- Within the
RLum.Data.Image-classimage data are now stored in anarrayinstead of aRasterBrickobject. - The function
plot_RLum.Data.Image()does not know any more about a plot typeplotRGB. However, the standard raster plot was even improved. Please watch out, however, for changed arguments. - The image format import functions
read_SPE2R()andread_TIFF2R()were modified to support the new class design. - The corresponding example dataset was updated.
Removal of app_RLum()
This function was essentially a wrapper around RLumShiny::app_RLum()
written to promote 'RLumShiny'; a package providing a graphical user
interface to 'Luminescence'. 'Luminescence' is essential for
'RLumShiny'. However, this two-way dependency caused unwanted trouble
once the package 'raster' was removed. By removing app_RLum()
'Luminescence' comes lighter because it has fewer dependencies this
unfortunate reverse dependency can be avoided. RLumShiny::app_RLum()
will still work as before, but it cannot be called anymore out of
'Luminescence'. In summary, except for one function less, not much has
changed since both packages need to be installed to run the shiny
applications.
Bugfixes and changes
convert_Activity2Concentration()
- The function had had-coded conversion factors, now the factors are calculated, making it easier to include new data, such as updated half-life values.
- The documentation is extended and should now be read more clear.
use_DRAC()
- The function now supports up to 5000 datasets, instead of before 33.
The function
template_DRAC()was revised accordingly.
- R
Published by RLumSK over 4 years ago
Luminescence - v0.9.17 (CRAN)
Changes in version 0.9.17 (2022-01-01)
This package version requires R >= 4.0.5
Bugfixes and changes
calc_MinDose()/calc_MaxDose()
- The error message if no likelihood profiling can be done now reads more clear.
fit_EmissionSpectra()
-
method_control = list()gained a new sub-argumentnormto enable/disable the normalisation of the data. The default isTRUE.
plot_AbanicoPlot()
- The keyword internally set for the font decoration
'plain'was not used inget_Layout(), where'normal'was expected causing the function to crash in R-devel if the argumentlegendwas used; fixed (#108).
plot_RadioPlot()
- An additional line, e.g.,
plot_RadialPlot(...,line = 1)was not always drawn where the user expected it to be seen; fixed (#106, reported by Li Bo) - The radial z-scale did not always extend to the limits of the data, even if limits for the z-scale were set, leading to an odd graphical offset and unsuitable plots; fixed (reported by Christina Neudorf)
- The plot now always draws the lower limit of the z-scale.
plot_RLum.Analysis()
- The parameter
records_maxremoved more curves than required; fixed.
plot_RLum.Data.Spectrum()
- The function gained a new argument
plotthat can disable the plot and return the matrix used for the plotting instead. This may sound a little bit awkward, but it adds enormous flexibility. The function does a lot of internal transformations, such as binning or colour calculations, which could not be used in other functions before. Now the function can be ‘misused’ to create an output object ready to be passed to other packages and functions, such as the package'plot3D'.
- R
Published by RLumSK over 4 years ago
Luminescence - v0.9.16 (CRAN)
Changes in version 0.9.16 (2021-11-18)
This package version requires R >= 4.0.5
New functions
combine_Dr_De()This function allows to model dose rate and equivalent dose distributions to obtain an age from Bayesian modelling using both distributions. In the back, a couple of additional functions have been added to support this novel approach. This function requires JAGS (supported through'rjags') on your computer along with a couple of other R packages prompted to you when you first try to use this function.plot_OSLAgeSummary()Posterior distribution plot of ages. This function is used bycombine_De_Dr(), however, it can be used as stand-alone plot.
Bugfixes and changes
analyse_FadingMeasurement()
- If run in a loop (e.g., with
lapply()), merging of the results withmerge_RLum()failed because the returned objects were not always strictly identical; fixed.
analyse_SAR.CWOSL()
- If all dose points were 0, the function crashed; fixed.
calc_CentralDose()
- The output in element
output$summarywas confusing forlog = FALSE. While the terminal output was correct, no differentiation was made between absolute and relative values in the output object depending on thelogmode. Now two more columns were added to report the overdispersion always in absolute units (whatever that may be) and relative (thanks to Li Bo for reporting this problem). - No claim on the unit (e.g., Gy or s) is made in the terminal output anymore because we do not determine this information. Instead, now ‘abs.’ for absolute is used.
read_BIN2R()
- The function crashed if it was run in a loop and encountered non-supported files; fixed.
- The function does not crash anymore for zero-byte files but skips the import, returns a message and
NULL. - For BINX files created using an EM-CCD camera, the function created, under particular circumstances, invalid records that could not be further transformed; fixed (thanks to Anna-Maartje de Boer for reporting).
plot_RadialPlot()
- The function does not mess anymore with the
par()settings of other subsequent plots
plot_GrowthCurve()
- The function crashed in combination with
analyse_SAR.CWOSL(...,fit.weights = TRUE)for unfortunate Lx/Tx error values (means,Inf) caused by noise-like OSL data; fixed. Thanks to Frederik Baumgarten for reporting the issue.
Internals
- New dependency to the package
'mclust'is required by the two new functions.
- R
Published by RLumSK over 4 years ago
Luminescence - v0.9.15 (CRAN)
New functions
-
fit_EmissionSpectra(): this new functions allows you to fit luminescence emission spectra (e.g., TL, RF) with a semi-automated start parameter estimation. The function was around quite some time but was finalised only recently.
Bugfixes and changes
General
- We removed
'magrittr'from the dependency. It was never used within the package or required for examples, but loaded for convenience reasons to smooth the data analysis. However, with R >=4.1, a native pipe operator (|>) became available and'magrittr'is no longer needed (but can still be loaded by the user vialibrary(magrittr)if needed).
analyse_FadingMeasurement()
- Minor graphical issue in the plot output: if the shine-down curve did not start at 0 s, the integration limits were drawn incorrectly (the calculation was correct, though); fixed.
analyse_SAR.CWOSL()
- The extraction of irradiation times, if irradiation curves were provided (e.g., usually part of XSYG files), did not work reliably; fixed.
calc_AverageDose()
- The function aggressively reset plot areas also in cases nothing was plotted; fixed.
plot_AbanicoPlot()
- If the input was of type
data.framethe function struggled if thedata.framehad more than two columns. While this was clearly indicated in the documentation, the behaviour was annoying, because it made always an extra sub-setting necessary when working withdata.frames comprising more than two columns. Now the function discards all other columns except for the first two if the input is adata.frame.
plot_GrowthCurve()
- The function crashed if
fit.method = "LambertW"and theLn/Tnlargely exceeded the highestLx/Txpoint; fixed.
plot_RLum.Data.Spectrum()
- For
plot.type = "image"the labels for the contour did not scale for changedcexsettings; fixed.
- R
Published by RLumSK almost 5 years ago
Luminescence - v0.9.14 (CRAN)
Changes in version 0.9.14 (2021-07-21)
This package version requires at least R >= 4.0.5
Bugfixes and changes
plot_AbanicoPlot()
- The function lost the parameter
output(defaultTRUE), which was superfluous because the output was calculated regardless this option. Now the output is always returned, but invisible on the terminal. This has no user-visible effect and does not break old code. - The function had a long-standing nasty bug that caused overplotting
if the function was called repeatedly
with par settings different from the defaultpar(mfrow = c(1,1)); fixed. - In the case, the plot was shown on different panels (e.g.,
par(mfrow = c(1,2))) in combination with the optiondots = TRUE, the function crashed with the cryptic message:Error in rep(20, length(dots.x.i) - 1) : invalid 'times' argument; fixed.
analyse_FadingMeasurement()
- Apparently, the function never worked as intended for
XSYGfiles; fixed. To prevent further problems, a test was added that monitors this functionality. - The parameter
t_starnow supportshalf_complex, which uses the long equation from Auclair et al. (2003). The difference is of theoretical nature, however, now the two values can be compared. - The plotting speed was improved by limiting the number of shine-down curves to a maximum of ten. Likewise, the lines showing the error range is now a polygon instead of single lines.
plot_RLum.Analysis()
- The function gained a new argument
records_maxenabling only a limited number of curves to be shown in the modecombine = TRUE. This avoids that a large number of curves become indistinguishable. The first and the last curve are always shown, all other curves are shown following an evenly distributed index interval. - The
...argumentsub(sub title of the plot) forcombine = TRUEdid not work properly due the R’s partial matching of arguments that conflicted with the argumentsubset. The argumentsubwas now renamed tosub_titleto prevent this error from happening and support again subtitles.
verify_SingleGrainData()
- Improve terminal and plot output
- Add minimal support for
...to control plot output if wanted
- R
Published by RLumSK almost 5 years ago
Luminescence - v0.9.13 (CRAN)
Changes in version 0.9.13 (2021-06-03) (v0.9.12 was never released)
-
read_TIFF2R()Wrapper function to import TIF/TIFF files and TIFF image stack data
Bugfixes and changes
calc_FadingCorr()
- If no solution could be found (usually the case for unrealistically
large g-values), the function crashed with a non-helpful error
message. Now a meaningful message is shown and the function returns
NULL. - The function did not flag a problem but just crashed for non-numeric input; changed.
- The function is now a little bit less forgiving if
tcwas not set.
RLum.Data.Image-class
- Add S4-methods to coerce from and to
listandarray
plot_AbanicoPlot()
- Documentation for the parameter
y.axisclarified along with a new list of supported...parameters. - Add supported for
graphics::par()yaxtparameter to suppress the y-axis usingyaxt == "n". Please note that in a such a case a newly added axis viaaxis(2)needs to be adjusted otherwise the scale is not correct.
plot_Histogramm()
- If the input is of
RLum.Results-classalways the first element will be plotted. The function will not search anymore for an element'data'
plot_RLum.Data.Image()
- Various minor improvements to better support image data plotting + update documentation
plot_RLum.Data.Spectrum()
- Plot type
"image"added based ongraphics::image()added.
report_RLum()
- Due to changes in R, the full report was not always visible or complete; fixed.
- Now supports report distribution plotting for
calc_AverageDose()model.
verify_SingleGrainData()
- The function stops flooding the terminal with the same warning over and over again if run over a list.
Internals
-
mclustadded as new package dependency to support the new Bayesian models -
tiffadded as new suggested package to support the new functionread_TIFF2R() -
report_RLum()was a little bit too aggressive when trying to close connections on exit (CRAN email from 2021-05-11)
- R
Published by RLumSK almost 5 years ago
Luminescence - v0.9.11 (CRAN)
Changes in version 0.9.11 (2021-04-29)
This package version requires R (>= 3.6.0).
New functions
convert_SG2MG()Convert single-grain data to multiple-grain data by adding curve signals from one disc. Works only for files created by Risø TL/OSL readers.calc_gSGC_feldspar()Function to support the calculation of the equivalent dose using the global standardised growth curve (gSGC) for feldspar proposed by Li et al. (2015)
Bugfixes and changes
analyse_SAR.CWOSL()
- The function, applied to a list of
RLum.Analysisobjects, crashed with a merge error under very particular circumstances after throwing a fitting error; fixed (reported by Brice Lebrun).
fit_LMCurve()
- The function additionally returns a
component_matrix(if the fitting was successful). The matrix contains xy-values obtained from the fitting with the resolution of the input data.
plot_GrowthCurve()
- The quality index for the comparison of the De and
the De estimated from the Monte-Carlo yielded > 100%
if
mode = 'extrapolation'; spooky and fixed. - The function caused a crash in
analyse_SAR.CWOSL()for very small De error values and returned a user unfriendly error message (Error in temp.GC[, 2]/temp.GC[, 1]). This was caused by an unintentional type conversion to acharacterfor very small values (#103, thanks to @IMHarly for spotting). - Add support for the Lambert W dose-response curve fitting as suggested by Pagonis et al. (2020) (thanks to @vpagonis for developing the math)
- Minor tweaks to improve the graphical output and avoid various errors
read_BIN2R()
- Only for BIN/BINX-file version 3 and 4: if the numbers of runs exceeded 128, the number became negative; fixed.
Internals
-
'lamW'added as new package dependency. This is needed to support the Lambert W function as in the functionplot_GrowthCurve()
- R
Published by RLumSK about 5 years ago
Luminescence - v0.9.10 (CRAN)
Changes in version 0.9.10 (2020-12-10)
Bugfixes and changes
analyse_SAR.CWOSLOSL()
The recent changes in 0.9.9 improving the self-call had unwanted side effects if the input parameters were itself objects. For example:
signal.integral.min = settingled to amissing parametererror; fixed (thanks to Thomas Kolb for reporting).Note: While investigating the previous bug, it turned out that some users provide rejection criteria as unnamed list, albeit the manual says that is has to be a named list.
calc_FuchsLang2001()
- The function caused a fatal error on the CRAN R-devel resources after recent changes in R and did not work anymore on R-devel. This is fixed now and has no user visible effects.
- Minor code polish and better test coverage.
- R
Published by RLumSK about 5 years ago
Luminescence - v0.9.9
Changes in version 0.9.9 (2020-11-29)
New functions
-
calc_OSLLxTxDecomposed()CalculateLx/Txratio for decomposed CW-OSL signal components by Dirk Mittelstrass
Bugfixes and changes
analyse_SAR.CWOSLOSL()
- The default value for
rejection.criteriais nowlist()instead ofNULL. As before, the default value means that internally set rejection criteria are applied and hence this change should not affect the behaviour of the function, but it allowed us to greatly simplify the underlying code. - The function did not check correctly for all record types, under particular circumstances, some of the non-support curves could slip through; corrected.
- If the input records were not of type
OSL,IRSLorPOSLthe function was supposed to returnNULLbut crashed instead; fixed. - As implemented by
calc_OSLLxTxRatio()the function now supportsNAvalues for the integrals. If set, sum curves are taken for the calculation. This option enables a bunch of new possibilities to test more experimental protocols without modifying the function. - Following the
NAsupport, all integral arguments are now preset toNA. To avoid user errors, a warning is thrown each time the function runs with integral limits set toNA. - The identification of the allowed curves was further improved to
cover cases where users may want to provide experimental OSL curves.
Allowed are combinations where
OSLis combined with additional letters[a-zA-Z]. Everything else is, as before, ignored. - The function now supports the input from the upcoming R package
'OSLdecomposition'by Dirk Mittelstrass and hence gained a new argument calledOSL.component. - In particular circumstances, when no TL-curves were detected as preheat, the function crashed; fixed (flagged by Dirk Mittelstrass).
calc_OSLLxTxRatio()
- The function now supports
NAas input for thesignal.integraland/orbackground.integral. If set toNAthe sum of the count values is used. This is useful if the users wants to process component data that were already extracted and do not need integral limits. - The output of the function is not anymore invisible. This should have no further effect.
plot_GrowthCurve()
- Users sometimes complained about large uncertainties produced by the Monte-Carlo runs to estimate the error on the De, which returns the standard deviation of the MC runs. Large standard deviations are a result of large individual uncertainties (e.g., noisy data) provided as input. The function now returns, experimentally, estimates of the highest probability density intervals as an alternative. Beyond we may recall that the results of the MC runs are always returned as a separate object by the function. Means, users ca run any statistic of choice to best estimate the uncertainties on the De.
read_Daybreak()
- The function threw a lot of warnings for the
*.DATafterR >= 4.0.0started to be more strict about embedded null bytes within a character. The code was updated to a newer version and no further warnings are shown. - Under particular circumstances the function left open connections behind; fixed.
Internals
- The automated tests now use consistently
testthat>= 3.0.0. Naturally this has no user visible effect, however, we found a couple of minor bugs while updating the tests.
- R
Published by RLumSK over 5 years ago
Luminescence - v0.9.8
Changes in version 0.9.8 (2020-11-16)
Important user affecting changes
- The version requires R (>= 3.5.0)
- We removed a few of our vignettes from the package. They are now available on https://r-luminescence.org/tutorials/
New functions
read_RF2R()Add support for importing spatially resolved RF measurement results.plot_ROI()Visualisation of ROI data imported byread_RF2R().convert_Concentration2DoseRate()by Svenja Riedesel and Martin Autzen. This function converts radionuclide concentrations (K in %, Th and U in ppm) into dose rates (Gy/ka). Beta dose rates are also attenuated for the grain size. Beta and gamma dose rates are corrected for the water content.calc_CobbleDoseRate()by Svenja Riedesel and Martin Autzen. The function calculates the dose rate profile through the cobble based on Riedesel and Autzen (2020).
Datasets
ExampleData.CobbleDatenew example dataset to be used in conjunction with the functioncalc_CobbleDoseRate(). Contributed by Svenja Riedesel and Martin Autzen.BaseDateSet.Conversion,Cresswelletal2019was changed toCresswelletal2018. The corresponding functionscale_GammaDose()was updated.BaseDateSet.GrainSizeAttenuation.rda: Grain size correction data for beta-dose rates published by Guérin et al. (2012). Dataset contributed by Svenja Riedesel and Martin Autzen.
Bugfixes and changes
analyse_SAR.CWOSLOSL()
- The function gained a new argument
plot_onePage. If set toTRUE, the plot output is gathered in one single plot window instead of three. - If the user decided for odd reasons to mix preheat steps recorded as TL (signal recorded) and simple preheat (no signal recorded) the function stopped with an uncontrolled error. Now the function is more flexible. However, this comes at a cost, e.g., if the user accidentally swaps the sequence order (such as OSL-TL, instead of TL-OSL) this may remain unnoticed.
- For zero count data (e.g., observed in single grain curves), the
function crashed with a non-indicative error message because
NaNare usually produced if the recycling ratio is calculated; fixed (thanks to Brice Lebrun for reporting the issue).
analyse_FadingMeasurements()
- Typo correction in the manual and a better documentation of
supported
...arguments - The
ylimargument can now be used to control the'signal fading'plot output. - While the x-axis of the fading curve output was correct, it probably
caused too much confusion, and now the values are shown with
superscripts, e.g.,
10^0, 10^1etc. If the number of data points is too small, the function will fall back to the old representation. - The function did not work properly for less than five data points
and stopped with
Error in rep(rgb(0, 0, 0, 0.3), length(TIMESINCEIRR) - 5)(thanks to Annette Kadereit for flagging this issue) - The function now shows also the normalised log-values under the time-scale (#97)
- As it turned out,
t_stardid not work if the input was produced byread_BIN2R(); fixed along with (#97) -
t_starnow can be a function, e.g.,function(x) x+100, which would add a constant value to allTIMESINCEIRRvalues (#97).
analyse_IRSAR.RF()
- The function learned to recognise input from
read_RF2Rand changes the header labelling accordingly. - An edge case crash that might occur in combination with the vertical sliding has be sanitized.
- The text progress bar was not closed correctly, this could lead to artefacts in the terminal output; fixed.
- The internal C++ function used for the curve sliding now uses
Armadillo vectors via
RcppArmadillo. Depending on the platform this gives a performance plus free house by at least 50%. However, it comes at the cost of a reduced maximum vertical sliding range of 1e+07 (before 1e+08).
plot_RLum.Data.Curve()
- The argument
normnow supports the options"max"for a normalisation to the highest point (the default),"min"for a normalisation to the lowest point andhuotfor a normalisation suggested by Sébastien Huot (#87) via GitHub
plot_RLum.Analysis()
- The argument
normnow supports the options"max"for a normalisation to the highest point (the default),"min"for a normalisation to the lowest point andhuotfor a normalisation suggested by Sébastien Huot (#87) via GitHub. Please note thatnormonly works ifcombine = TRUE.
report_RLum()
- Function complained about missing header; fixed.
- Function threw warnings
Duplicate identifier 'root'; fixed.
read_SPE2R()
- The function threw a warning about truncated strings; the warning was not relevant and is no suppressed.
verify_SingleGrainData()
- The function did not always return a plot: Fixed.
Internals
Risoe.BINfileData-classobjects got aas.data.frame()S3-method to allow a direct conversion into a single data.frames. Count values are added in columns for each record (thanks to Annette Kadereit for the idea).structure_RLum()forRLum.Analysis-classrecycled rows in the outputdata.frameif objects had more than one parent id (.pid). This led to odd behaviour if functions expected (correctly) that the number of entries in thedata.framereturned bystructure_RLum(), cannot not have more rows than number of records in the object. This could happen, e.g., after mergingRLum.Data.Curve-classobjects. ow multiple.pidentries still create only one string and the number of rows matches the number of records in the object.
- R
Published by RLumSK over 5 years ago
Luminescence - v0.9.7
Changes in version 0.9.7 (2020-01-04)
Bugfixes and changes
analyse_Al2O3C_Measurements()
- Supplementary argument
mainnever worked; fixed. - New supplementary argument
titlewhich allows to pass further names of a sample to the plot output.
plot_AbanicoPlot()
- The plot now can handle negative values, fixed in combination with #88 (reported by Sébastien Huot)
plot_RadialPlot()
- Fix display problem when
log.z = FALSEcombined with negative values (#88, reported by Sébastien Huot)
read_BIN2R()
- Due to a typo, some bytes were read in the wrong order (big-endian instead of little-endian). While the fix does not affect the behaviour of the function, the non-fixed function would have soon crashed on CRAN servers. A big thanks to Tomas Kalibera from the CRAN team for his support and for pointing out this issue.
internal_as.latex.table()
- The function gained a new argument
rm.zerowhich is preset toTRUE. If set, all columns containing zero values only are removed. The new argument enables a better fine tuning of the latex output.
- R
Published by RLumSK over 6 years ago
Luminescence - v0.9.6
Changes in version 0.9.6 (2019-12-05)
Bugfixes and changes
analyse_SAR_CWOSL()
- Setting the argument
plot.single = TRUEdoes not any longer interferes with the global par settings for the rejection criteria plot.
fit_OSLLifeTimes()
- The function gained a new argument
plot_simpleto produce plots without residuals that can be combined using standard R layout plot functionality, e.g.,par(mfrow = c(2,1)). - Function now handles the
log = "x",log = "y"andlog = "xy"options better. - In the self-call mode (input is
RLum.Analysis-classobject), all...objects are supported aslistand get recycled if the list does not equal the number of objects
plot_GrowthCurve()
- The y-axis labelling of the test-dose response plot finally shows what was done since the beginning: the Tx values are normalised by the Tn values, i.e. Tn/Tx and not Tn/Tx. Thanks to Andrea Junge for spotting this flaw.
read_XSYG2R()
- The function now supports the temperature recalculation of TL curves even they consist of only a single point value.
Internals
- Changes in the development version of R caused error messages on CRAN and would have stopped the package from function properly in the future. This was corrected; the changes do not have any user-visible effect.
- The internal function for the DRAC output
.as.latex.table()gained a new argumenttabular_onlywhich gives a little bit more flexibility at hand of the output the DRAC is combined with LaTeX.
- R
Published by RLumSK over 6 years ago
Luminescence - v0.9.5
Changes in version 0.9.4/0.9.5 (2019-09-20/2019-09-21)
Important user visible changes
plot_KDE()wrong error bars As it turned out, unfortunately, the error bars produced byplot_KDE()had been wrong since 2014. The input error values (2nd column in the data.frame) had been, for reasons we cannot recall anymore, divided by two leading to an improved visualisation of uncertainties. A big thank goes to Andrea Junge (#93) who made us aware of this bug.The way the x-axis channels from BIN/BINX-files are generated changed So far, during the file import, minimum and maximum values were taken, and channels were distributed equally according to the number of available data points. Thanks to Sébastien Huot for a constructive discussion.
Example old behaviour: For an OSL curve recorded over 40 s with 100 channels, the first channel was set at 0 s, the last channel to at 40 s. Thus, the width of each channel was 0.404 s.
Example new behaviour: For an OSL curve recorded over 40 s with 100 channels, the first channel is set to 0.4 s, the last channel to at 40 s. Thus, the width of each channel is 0.4 s.
In other words, the first channel does not start anymore at 0 s, as it is the case, e.g., in the Analyst.
Please note that these changes will impact your analysis results!
Difference between version 0.9.4 and 0.9.5
Non-used dependency to 'interp' removed.
Bugfixes and changes
analyse_SAR.CWOSL()
- The automated curve type recognition introduced with the last
release broke the vignette of the R package
'RLum.Model'; now refactored code prevent other people’s code from breaking.
calc_CentralDose()
- The function does not crash anymore with an odd error if
NAvalues are provided (#82 reported by Sébastien Huot). - The function gained a new argument
na.rmwhich is set toFALSEby default.
plot_DetPlot()
- The argument
analyse_function.controlnow understands the argumentsfit.methodandfit.force_through_origin.
calc_MinDose()
- The final parameter estimates and their confidence intervals in the console output are now always reported in their absolute values, independent of whether the logged or non-logged model was used (#84 suggested by Sébastien Huot). This is a purely cosmetic change, and no changes to the calculations were made.
- The values in the profile log-likelihood plots are now always given in their absolute values, independent of whether the logged or non-logged model was used (#84 suggested by Sébastien Huot). This is a purely cosmetic change, and no changes to the calculations were made. The output object still returns the original profile objects with the logged values.
- Improved handling of values close to zero if
bootstrap = TRUE(#91, reported by Andrea Junge).
plot_GrowthCurve()
- Remove rounding from numerical output values (#81 suggested by Sébastien Huot); this affects all subsequent functions. However, terminal and graphical output do not change.
Internals
- The package
data/datalistfile listing the example data shipped with the package was not correct (#85, CRAN comment); now corrected.
- R
Published by RLumSK over 6 years ago
Luminescence - v0.9.3 (CRAN)
Changes in version 0.9.3 (2019-07-31)
- This version takes care of a CRAN note complaining about a non-used package declared in the Import fields.
- R
Published by RLumSK almost 7 years ago
Luminescence - v0.9.2 (CRAN)
Changes in version 0.9.2 (2019-07-30)
- This version fixes an URL problem discovered by the CRAN pre-check
- R
Published by RLumSK almost 7 years ago
Luminescence - v0.9.1 (never released on CRAN)
Changes in version 0.9.1 (2019-07-30)
Removed functions
-
model_LuminescenceSignals(): This wrapper function for the R package'RLumModel'was removed due to changes on CRAN inflicting a warning because the object is masked from'package:Luminescence'each time'RLumModel'was loaded. In'Luminescence'the function had no real scope, but provided a place holder to point the users on the existence of the package'RLumModel'.
Bugfixes and changes
apply_EfficiencyCorrection()
- The function now supports
RLum.Analysisobjects as input - All allowed input objects can now be provided as
list(self-call support) - Minor code polish
analyse_baSAR()
- The manual stated that
RLum.Analysis-classare supported, but actually this is not true, it supports a list ofRLum.Analysisobjects only. - Some minor manual corrections.
analyse_SAR.CWOLS()
- Add support for
POSLdata,before the function crashed (reported by Alice Versendaal).POSLcurves had been not listed as supported curve types though. - Improve dataset recognition (
OSL,IRSL,POSL).
calc_Lamothe2003()
- The documentation wrongly stated that an input
data.frameshould have the columnsdose,DeandDe error, indeeddose,LxTxandLxTx errorare expected (spotted by Jeong-Heon Choi)
calc_TLLxTxRatio()
- The
LxTx.Erroris no longer negative, even if the subtraction lead to negative count values (#78, reported by Sébastien Huot)
calc_SourceDoseRate()
- The function learned about the half-life of Cs-137
fit_OSLLifeTimes()
-
0count values crashed the function for obvious reasons (a / 0 = Inf), this can happen in particular for artificial datasets. Now, if0is detected, count values are increased by0.1(reported by Dirk Mittelstrass)
plot_AbanicoPlot()
- If
summary = "se.abs"was chosen, the abanico plot showedse.relinstead; corrected (reported by Maryam Heydari)
plot_DRTResults()
- Correct documentation, where it was erroneously implicated that the
...argument pipes all arguments, - add support for argument
las.
plot_GrowthCurve()
- If the dose points included
NAvalues the function crashed unexpectedly.
S4-classes and methods
-
RLum.Analysis-class- Code polish (no visible changes)
-
RLum.Data.Curve-class- Code polish and clarifying the documentation
-
RLum.Data.Image-class- Conversion methods to a
matrixand from and todata.framenever worked as intended. - Code housekeeping
- Conversion methods to a
Internals
The
DESCRIPTIONfile contained the string “[upcoming]”. This was a left-over from the development version and is now removed.Version numbering is now again more R canonical consisting only of three numbers (
stable.major.minor). Development versions are only indicated by.9000in the version number. Numbers after9000(e.g.,9000-1) indicate build numbers. Both is used for GitHub build versions only.The file name
RisoeBINfileData-class.Rwas changed toRisoe.BINfileData-class.Rfor consistency reasons, however, this has no further visible effect (#76, spotted by Sébastien Huot)
- R
Published by RLumSK almost 7 years ago
Luminescence - v0.9.0 (CRAN)
Changes in version 0.9.0 (2019-04-21)
'Luminescence' 0.9.X releases will be the last versions supporting
R < 3.5.0.
Important R related changes (R >= 3.6.0)
The behaviour of the base R function sample() was changed / corrected
(see news on https://www.r-project.org for details). This function is
used heavily within functions by 'Luminescence' (e.g.,
plot_GrowthCurve()). That being said, it means that old data
re-analysed by 'Luminescence' using R versions >= 3.6.0 will not give
the same results. Differences are small, however, they may significant.
If you want to reproduce your data, we recommend to use one of our
Docker images which include the R
version from the package release date.
New functions
-
convert_Wavelength2Energy()Smooth and quick emission spectra conversion from wavelength to energy scales -
fit_OSLLifeTimes()Fit and deconvolution of OSL lifetimes using off-time measurements, i.e. after the stimulation was switched off. -
plot_DRCSummary()Summarise all dose-response curves from your SAR OSL analysis in one single plot. -
scale_GammaDose()Scale the gamma dose rate considering layer-to-layer variations in soil radioactivity. Contributed by S. Riedesel and M. Autzen. -
fit_ThermalQuenching()Provide an easy option to fit thermal quenching data and determine the activation energy.
Bugfixes and changes
apply_CosmicRayRemoval()
- Thanks to black magic, this function now runs also over a list of
RLum.Data.Spectrumobjects and andRLum.Analysisobjects (also nested in a list)
apply_EfficiencyCorrection()
- The function produced a warning (“collapsing to unique
xvalues”) on R-devel; fixed.
analyse_SAR.CWOSL()
- If the function was used in a self-call mode (object of type
list), the arguments contrary to what is written in the manual, the arguments such assignal.integral.minhad not been expanded properly; no one complained, however, corrected. - The argument
mainno also supports the inputlistin the self-call mode.
analyse_SAR.TL()
- The plot legend was not correct, if no dose points had been provided; fixed
- The function returned a confusion warning; fixed.
- If background signals are provided, now the background subtracted signal is shown automatically instead of the uncorrected curves (suggestion by Tilmann Wolpert)
- The function now supports a list of
RLum.Analysisobjects as input - The plot settings were sufficiently reset; fixed.
- Code polish
analyse_FadingMeasurements()
- Enable support for data imported from a BIN/BINX-file
- If the g-value is negative, now it also returns a negative g-value; before always the absolute values was taken, which was not meaningful
- If rho was negative, the log10 value could not be calculated, this caused an unwanted warning; now suppressed
- It showed a warning on R-devel due to changes in
stats::approx(); fixed - Records with negative
time since irradiationare now automatically removed (thanks to input by Sébastien Huot) - Function is now more relaxed when odd data a provided and it is less talkative
calc_Huntley2006()
- The function now checks if rho (
rhop) is a sensible non-zero positive value and, if otherwise, stops with a more meaningful error message. (Issue #74) - Now the function is a little bit less talkative if extreme dataset are provided as input
read_BIN2R()
- Add support for missing BINX-file version 5 (pointed out by Harrison Gray)
- In the auto-file recognition (only a path instead of a file is provided), sometimes the found BIN/BINX-files were imported twice. The corresponding code was simplified to avoid such errors in future
- Sometimes the time stamp is invalid since it is missing a leading
0. For BINX-files >= version 6 such timestamps now get corrected during the import
read_XSYG2R()
- The function failed for R-devel importing spectrometer data
(
approx(..., ties = -2)); fixed.
plot_GrowthCurve()
- The function crashed with
Error in data.MC[, i] : incorrect number of dimensionsunder very particular circumstances (reported by Alice Versendaal). This was due to unwanted internal object conversion; fixed.
plot_RLum.Data.Spectrum()
- The wavelength to energy scale conversion was not correct. This was
corrected and internally, the function now calls consistently the
new function
convert_Wavelength2Enegy()(the corresponding code and documentation have been updated or removed). - The function gained a new argument
normfor normalising the data to the highest or the lowest count value. - The function gained a new argument
bg.spectrumallow to pass a background spectrum that can be used for the subtraction - The function returned a warning if a single matrix was used but
plot.typewas already set tosingle; fixed. - Wrong settings in
bg.channelscrashed the function. Now it auto-corrects the wrong values. - Channel binning now consistently calls the internal function
Luminescence:::.matrix_binning(), which is more efficient cleaner than the code used before - The function now longer crashes for
plot.type = 'persp'if'xaxis.energy = TRUE. - The colour picking option was not always working; fixed.
- Warnings are formatted more nicely.
verify_SingeGrainData()
- The function crashed for crazy datasets; fixed
- Cleaning-up
RLum.Analysis-classobjects did not worked; fixed
write_RLum2CSV()
- The function gained a new argument
compactwhich is setTRUEbe default, and keeps the element output as simple as possible, which is in particular helpful forRLum.Resultsobjects - The function now behaves more friendly to
RLum.Resultsobjects, before the output was hard to understand.
write_RLum2BIN()
- The export failed if the time stamp was invalid (
NA); nowNAvalues are consistently replaced by000000(other values are not possible, otherwise the re-import of such file would fail) (reported by Alice Versendaal via email, 2019-03-06)
Changes in S4-objects and methods
get_RLum
- The method working on
listelements got a new argumentclassto remove unwantedRLumobjects in from list ofRLumobjects
RLum.Analysis-class
- The show-method crashed under very rare circumstances if inconsistent objects had been combined; fixed.
RLum.Data.Spectrum-class
- Support added for
bin_RLum.Data()
New example datasets
-
ExampleData.TR_OSLprovides a single fast-pulsing OSL curve that can be used to test the functionfit_OSLLifeTimes().
Internals
- Package news are now provided as markdown document (NEWS.md) which is supported by CRAN
- The package version numbering scheme has been modified to simplify
the distinction between different developer versions. While relevant
numbers for CRAN remain X.X.X, which reads
stable.major.minorversion, a 4th number indicates the running package build number, e.g., 0.9.0.7. - New internal function
Luminescence:::.matrix_binning()to get the matrix (and curve) binning consistent; so far used only by the thebin_RLum.Data()method forRLum.Data.Spectrum-class - Vignette S4-class object structure updated
- Internal changes to address changes in R-devel checking logical
arguments with length more than one (e.g.,
if(is.na(x))returned an error ifxwas not a vector of length 1) -
src/Makevarsfile removed to prevent unconditional stripping in response to a recent CRAN request; in return the installation size of the package increased in size on some platforms.
- R
Published by RLumSK about 7 years ago
Luminescence - v0.8.3
CRAN submission This release fails on the Solaris platform on CRAN and will be replaced by 0.8.4.
- R
Published by RLumSK about 8 years ago
Luminescence - v0.8.1
CRAN submission ... never release on CRAN due to a too large tarball size.
- R
Published by RLumSK about 8 years ago
Luminescence - v0.8.0
Submitted to CRAN but refused due to a broken URL in the manual.
- R
Published by RLumSK over 8 years ago
Luminescence - v0.7.5
CRAN submission ... another bugfix release
- R
Published by RLumSK almost 9 years ago
Luminescence - v0.7.3
CRAN submission (v0.7.2 was never released on CRAN)
- R
Published by RLumSK over 9 years ago
Luminescence - v0.6.3
Submitted to CRAN but never published (followed by v0.6.4)
- R
Published by RLumSK over 9 years ago
Luminescence - v0.6.1
Luminescence v0.6.1 submitted to CRAN
- R
Published by RLumSK almost 10 years ago
Luminescence - v0.4.6
Luminescence v0.4.6 submitted to CRAN
- R
Published by RLumSK over 10 years ago
Luminescence - v0.4.5
Luminescence v0.4.5 submitted to CRAN
- R
Published by tzerk almost 11 years ago