ggspectra 0.3.9

Some of the code in this package is rather complex and contained syntax and constructs that were known for some time to be on their way to deprecation and removal in different packages from the ‘tidyverse’. Updating the package to the syntax used in current ‘ggplot2’ versions had been in my to do list for some time. Now the update had to be done, and it is now done.

Continue reading

photobiology 0.10.14

COMPATIBILTY FIX: An update of package ‘tidyselect’ 1.2.0 now in CRAN deprecated syntax previously accepted. This change affected indirectly the syntax used in ‘dplyr’ and ‘tidyr’ resulting in lots of warnings and in a few odd behaviours in ‘photobiology’. To solve this I replaced several calls to dplyr::rename() and dplyr::select() with newly written code using only base R functions and operators.

Continue reading

photobiology 0.10.13

BUG FIX: Sometime during the early life of package ‘photobiology’ I decided that it was a good idea to support in collections of spectra the use of dimensions as a way of supporting spectral images and similar data. I never managed to buy a spectral camera and make use of this. So the code for dimensions was not much tested or used. As it happens, it contained a bug in the computation of dimensions that triggered odd and not easy to track errors when using negative numerical subscripts or logical subscripts with the extraction operator [ ] even with the default one-dimensional collections. I was bitten by this bug some days ago. Hopefully, you as many people usually do, have used only positive numerical values as subscripts and, thus, you have not been bitten by this nasty creature.

This bug is now squashed, and a new version of ‘photobiology’ ready to move to CRAN. It contains also a few enhancements.

Continue reading

ooacquire 0.2.4 and 0.2.5

The main new feature in version 0.2.5 is that the package can be installed and used in an off-line mode without need to install what were previously system requirements and required packages. In this mode data acquisition and communication with spectrometers is disabled, but processing of spectral data previously acquired or acquired with a different computer or using other software remains available unchanged.

Version 0.2.4 brings some improvements to the user interface for interactive data acquisition. It also fixes problems caused by code-breaking changes in package ‘readr’.

Continue reading

photobiologyWavebands 0.5.0

The main changes from version 0.4.5 the previous CRAN release, are:

  • Minor edits to documentation.
  • Rebuilt manual to comply with HTML 5.
  • Recognize Landsat mission "L9" as equal to "L8" as wavelengths are the same.
  • On bad arguments to parameter std the returned value is no-longer NA (a logical value) but instead a waveband object with its wavelength fields set to NA_real_, as returned by a call to waveband(). This potentially code-breaking change ensures that the class of the returned objects is the same irrespective of the arguments passed in the call, and that missing values more easily propagate to downstream computations without triggering errors.

Package documentation web site at:

NOTE: The updated package is on its way to CRAN.

Please raise issues concerning bugs or enhancements to this package through Bitbucket at


HTML5 compliance of R packages

As of R 4.0.0 there is a requirement for compliance with the HTML5 standard. Until recently, package ‘Roxygen2’, that is used to automatically generate the documentation, included in its output some HTML4 tags that have been removed in the upgrade to HTML5.

For compliance with CRAN requirements I had to rebuild packages ‘ggspectra’, ‘photobiologyWavebands’, ‘photobiologyInOut’, ‘photobiologyLamps’ and ‘photobiologyLEDs’. There were no other changes in ‘ggspectra’. Some minor changes were included in the updates to ‘photobiologyLamps’, ‘photobiologyLEDs’ and ‘photobiologyInOut’. Changes to ‘photobiologyWavebands’ were more and are described in a separate post.

The updated packages have been submitted to CRAN.

ggpmisc 0.5.0

Version 0.5.0 (previously announced as 0.4.8) brings enhancements to the annotations based on model fits. The most significant change for all users is the new convenience function use_label() that greatly simplifies the assembly of labels from components and their mapping to aesthetics. We examplify its use and some of the other new features. It also contains two changes that are not backwards compatible and that can in isolated cases break existing code (hence the version-number change into 0.5.0).

Continue reading

photobiology 0.10.12

This release corrects problems triggered by recent updates to packages ‘lubridate’ and possibly ‘tibble’ (reported by putmanlab in issue #7 ).  It also adds some enhancements for class solute_spct, still under development.

BUG FIX: Conversions between Date and POSIXct objects are tricky because objects of the former class do not store information on the time zone. A change in ‘lubridate’ 1.8.0 made a previously working approach to these conversions silently fail to apply the shift to the hours.

If you use any of day_night(), sunrise_time(), noon_time() and sunset_time() either use ‘lubridate’ (< 1.8.0) or update a.s.a.p. to ‘photobiology’ (>= 0.10.12) from GitHub.

Continue reading

ggpmisc 0.4.7

Version 0.4.7 brings a fix for a bug that could prevent the use of weights passed through aesthetic weight in some of the model-fitting statistics. Several enhancements to the model fitting statistics make it easier to fit different models to different groups or panels, and make it possible/easier to select among methods supported by a model fit function.

Continue reading

ggspectra 0.3.8

Eighteen months from the previous release, this update brings many improvements to autoplot() methods. These include enhanced capabilities for handling of normalized and scaled spectral data, as well as cosmetic tweaks to labels.

This update also includes smaller enhancements and fixes a bug. It tracks changes in packages ‘ggrepel’ (>= 0.9.1), ‘photobiology’ (>= 0.10.10) and ‘ggplot2’ (>= 3.3.3) and deprecation of functions in ‘tidyr’ (>= 1.0.0). The updated code depends on the revised normalize() function in ‘photobiology’ (>= 0.10.10) and on ‘ggrepel’ (>= 0.9.1).

Continue reading