prospectr 0.2.9 (proxy)continuumRemoval(): fixed NA values
produced for spectra with very low reflectance in the first bands and
high NIR reflectance. The fixed boundary offset of 1 wavelength unit
used in the internal convex hull computation was too large for spectra
with fine spectral resolution or wavelengths expressed in units other
than nanometres. The offset is now derived from the actual spectral
resolution at each edge, making the behaviour unit-agnostic (reported by
@jbferet, #80).
continuumRemoval(): fixed NaN produced
at the first wavelength when its reflectance value is exactly zero. The
continuum-removed value is now set to 1 (no absorption feature) at bands
where both the spectrum and the continuum are zero (#80).
continuumRemoval(): corrected a long-standing typo
in the method argument: "substraction" has
been replaced by "subtraction". A deprecation warning is
issued if the old spelling is passed explicitly.
standardNormalVariate(): now it can handle a single
spectrum passed as a vector.
detrend(): added snv argument (default
TRUE) to allow polynomial detrending without a prior SNV
transformation. The default behaviour is unchanged and remains
consistent with Barnes et al. (1989). Set snv = FALSE to
apply pure polynomial detrending independently of SNV, for example as a
separate step in a pre-processing pipeline.
The vignette has been reorganised into three separate vignettes with extended examples: (1) an introduction to the package, (2) signal processing, and (3) calibration sampling.
spliceCorrection(): clarified that wav
must be a numeric vector of length equal to ncol(X), not a
two-element range vector (#69).
duplex(): a warning is now issued when
k exceeds floor(nrow(X) / 2), the maximum
number of samples selectable per set. Previously, k was
silently capped to this limit with no indication to the user (reported
by @georgejr45).
prospectr 0.2.8 (galo)read_nircal(): The function was still crashing
because of some special characters in the IDs. This has been fixed (#65).
gap_der(): It can now accept
m = 0.
prospectr 0.2.7 (cakes)read_nircal(): The function was crashing because of
some special characters in the IDs. This has been fixed (#65).
kenStone(): An issue has been fixed for the
k argument when group was used. The function
prevented to pass a value to the k argument larger than the
number of groups passed to the group argument (#51).
Thanks to Michael Simmler from Agroscope for pointing at this
issue.
duplex(): Avoid error when the number of samples to
select is exactly half of the size of the input data set (#48).
Thanks to Philipp Baumann for his pull request solving this issue. Some
modifications to his original solution were made which also address the
concerns raised by Matthew Dirks (skylogic004) (#56).
Thank you!
read_nircal(): fixes a bug when reading some special
type of comments of each sample in the file.
prospectr 0.2.6read_nircal(): non-utf characters in sample IDs are
properly handled (before some IDs were wrongly converted into
NAs).Non-UTF8 characters are now converted to their corresponding
codes.
Documentation is now compatible with HTML5.
prospectr 0.2.5kenStone(): an error in a sanity check that
prevented the function to run when the number of groups to be selected
was smaller than the total number of groups. This sanity check has been
fixed. Thanks to Pogs Manalili for reporting this (#41).
kenStone(): this function was failing when when
using the Mahalanobis distance on a matrix of one column. By default the
function transforms the matrix onto the Mahalanobis space using either
SVD or eigendecomposition. This makes sense for matrices with more than
two columns. However for a matrix of one column, we now assume that such
space is equivalent to the variable divided by the its standard
deviation. Thanks to Sergio Roldan (https://github.com/sdroldan) for
reporting this (#40).
spliceCorrection(): correcting more than one point
at once (argument splice) in the spectra was returning an error. This
was a bug introduced in version 0.2.4. Thanks to Jose Lucas Safanelli
(https://github.com/zecojls) for reporting this (#39).
prospectr 0.2.4baseline(): in some cases the function did not
properly capture the baseline confounding maximum values of peaks as
part of the baseline. This has been addressed in this version by
ensuring the envelope used in the computation of the convex hull (used
to extract the baseline) is properly defined. At the edges, this
envelope has always values higher than any peak of the
spectrum.
read_nircal(): the function was wrongly identifying
actual .nir files as invalid. This preventing the function from reading
any nir file. This has been fixed.
prospectr 0.2.3The kenStone() function now includes a new feature
that allows to initialize the calibration sample search with a
user-defined subset of observations (which are to be included in the
final calibration subset). Thanks to Thorsten Behrens and Philipp
Baumann for suggesting this feature.
The gap-segment derivatives (gapDer()) function now
allows for high order derivatives. In previous versions the function
only allowed up to derivatives of 4th order, in this version the the
function accepts as derivative order any integer larger than 1.
binning()a bug in the creation of the binning groups
has been fixed. This bug is in fact inherited from a problem in the
findInterval() function. The breaks (given in the vec
argument) might get corrupted when they contain many decimal places.
These breaks (in vec) are used to define the final bins. The problem in
the binning function was that when a frequency variable
(e.g. wavelength) was exactly on the left of the bin range the variable
was assigned to the next bin. In some cases this lead to small
discrepancies in the in the computation of the mean of the
bins.
spliceCorrection() now accepts one or two values as
input for the splice argument. Previously it only accepted a vector of
length two. For example, now it corrects for splice steps of spectra
that originates from spectrometers with two detectors (i.e. it corrects
for the potential abrupt transition between the two detectors).
An extra sanity check has been added to the
read_nircal() function. The function evaluates whether it
is indeed a file properly produced by the BUCHI nircal
software.
There was a bug in the filter for the 3rd order derivative in gap
segment derivative (gapDer()) function. One of the factors
in the filter had a wrong negative sign.
There was a bug in the read_nircal() function. It
emerged only in some files and prevented the function from reading the
Description field properly
msc() function the argument
reference_spc has been renamed to ref_spectrum
to emphasize that its input must be is a vector and not a matrix of
spectra.prospectr 0.2.2baseline()The package was stripping some symbols for Rcpp functions in Makevars in order to reduce the installation size of the package. Now these lines have been commented to comply with CRAN policies
standardNormalVariate() returns now a matrix
(previously a data.frame)
prospectr 0.2.1resample() also has a new argument
(...) to pass additional arguments to the
splinefun() function (of stats) used within
resample() when the argument
interpol = 'spline' (the default since version 0.2.0)read_nircal(), the description file was not
being properly readprospectr 0.2.0read_nircal()) for reading buchi NIRcal
files has been addedprospectr 0.1.4kenStone() and duplex() when
the group parameter is usedprospectr 0.1.3prospectr 0.1.2readASD() when ASD file version = 7.0spliceCorrection()prospectr 0.1.1shenkWest() when
rm.outlier = TRUEgapDer() when input is a data.frameprospectr 0.1