NEWS R Documentation

## News for package albatross

### Changes in version 0.3-5 (2022-10-06)

• When importing files with a non-default encoding, feem.character now avoids leaking a connection per file. (They were cleaned up anyway by the garbage collector, but with a warning.)

• The custom progress bar in feemflame is now re-drawn correctly on R GUIs.

• On R ≥ 4.2, equations in HTML help are typeset from LaTeX source, not manually translated HTML.

• t() on feem objects now results in an unclassed matrix, not a broken feem object.

• feemscatter now accepts scattering bands with asymmetric widths. On some fluorometers, this is needed in order to remove unwanted signal in anti-Stokes zone.

• New palette, diverging.colours, is used to plot residual objects.

### Changes in version 0.3-4 (2022-02-25)

• The const argument of feemparafac (and other functions that call it) now defaults to non-negativity. The previous default of an unconstrained model can be achieved by setting the argument to NULL.

• Fixed the bugs in feemjackknife and feemsplithalf which prevented them from working with 1-component models.

• Fixed the bugs preventing feem and feemcube objects from being properly indexed by their dimnames.

• The data(feems) dataset has been replaced with a synthetic one, with perfectly matching absorbance spectra.

• New function feemflame to model fluorescence and scattering signal at the same time.

• New function feemindex to calculate fluorescence indices and named peak values used in dissolved organic matter analysis.

• When the samples and the absorbance information don't match, feemife now provides an explanation of what went wrong.

• When an error happens during the processing of a feem inside a collection (a feemcube or a list of feems) or during feemlist file import, the offending sample (or file) is now reported, and the error can be trapped without losing the traceback.

• The feemcube function can now return the original cube used to fit feemparafac, feemjackknife, feemsplithalf objects.

• feem now supports text files from Edinburgh Instruments F900 software.

• feemlist can now take an importer function as an argument.

• feemsplithalf can limit the number of split-combine comparisons (the splits argument) or take a fixed list of halves to fit and compare (the fixed argument).

• HTML version of the manual now passes Tidy validation without warnings.

### Changes in version 0.3-2 (2021-07-14)

• Fixed a bug in numerical differentiation code for feemscatter(method = 'whittaker') that resulted in d-th order derivatives being 2^d times smaller than they should have been. Existing optimal lambda values will have to be updated by dividing them by 2^{2d}.

• When interpolating using “loess” or “kriging” methods, predicted negative values are replaced with zeroes. Previously, this happened for the whole FEEM, but only with “loess”.

• feemcube now can also extract the original cube from feemparafac objects.

### Changes in version 0.3-1 (2021-03-29)

• Simplified the feemlist(..., simplify.names = TRUE) logic, hopefully preventing the test failure on some macOS machines.

• Made the feem(..., 'table', fileEncoding = '...') logic more robust, especially on older versions of R where it could still fail when fileEncoding could not be represented in the locale encoding.

• example(write.openfluor) no longer leaves files it creates in the per-session temporary directory.

### Changes in version 0.3-0 (2021-03-24)

• Added a new ‘whittaker’ interpolation method for feemscatter and feemgrid based on Whittaker smoothing with configurable difference order(s) and optional iterative penalty against resulting negative values. This brings in a dependency on the recommended Matrix package.

• The ‘pchip’ interpolation method now offers a choice whether to interpolate the EEM by row, by column, or to do both and average the results (thanks staRdom for the trick). It also doesn't crash anymore when trying to 1-D interpolate less than 3 defined points, falling back to linear interpolation instead.

• Added feem methods for strings and connections, making it possible to read EEMs from files in simple table formats, including those produced by Horiba and Panorama software.

• Added the feemlist generic to construct lists of feem objects from eemR or EEM objects or vectors of file and directory paths.

• Added the groups argument to feemsplithalf, making it possible to stratify the resulting halves according to a given factor value.

• Added the feemgrid generic to interpolate FEEM(s) on a given wavelength grid.

• Added coef methods for feemparafac, feemsplithalf, feemjackknife returning the coefficients and summary values (e.g. TCC for split-half) in “long” data.frame format.

• Added function write.openfluor to export a fitted feemparafac object for the OpenFluor service.

• Equations in the HTML help pages are now typeset using HTML features instead of plain ASCII.

• Dependency on R >= 3.3 is now acknowledged. The package doesn't actually pass R CMD check on prior versions of R. Patches to lower the required R version are welcome if they don't result in extensive rewrites.

• Other documentation improvements.

### Changes in version 0.2-0 (2020-11-30)

• Fixed a serious bug in feemsplithalf that would result in partially overlapping splits being compared. It has been present since v0.1-1. I apologise to any users of albatross who found out they have been bitten by this. Steps have been taken to make sure that other bugs like this don't still lurk in the code and to prevent similar bugs from occurring in the future.

• Potentially breaking change: feemife now accepts either named absorbance / optical path length data exactly matching unique names of samples, or a collection of exactly same length with either names missing. Named collections of the same length as number of samples which don't contain all unique sample names are going to be rejected from now on.

• Saved feemsplithalf and feemjackknife results now should consume much less space and much less memory when loaded back. This is achieved by saving the FEEM cube object in an environment and only referencing it using vectors of indices instead of keeping copies of its subsets.

• New interpolation method: “kriging”. Very resource-intensive, but results can be nicer-looking than either loess or pchip.

• More consistent progress bars for operations on collections of feems. Scatter correction can now be run in parallel.

• Minor documentation improvements.

### Changes in version 0.1-2 (2020-10-02)

• Fixed a bug in feemjackknife and feemsplithalf, which could manifest when rescale argument is not 3 and loading scales are wildly different, resulting in poor approximation for some of the modes.

• Made the documentation for PARAFAC/split-half/jack-knife plots more prominent.

• Made tests and examples much faster.

• Made the gamma argument in marine.colours much more useful.

• Minor improvements in documentation.