colorSpec-package: Package colorSpec - Color Calculations with Emphasis on...

Description Details Author(s) See Also


Package colorSpec is for working with spectral color data in R.



  1. a clear classification of the commonly seen spectra into 4 types - depending on the vector space to which they belong

  2. flexible organization for the spectra in memory, using an S3 class - colorSpec

  3. a product algebra for the colorSpec objects

  4. uniform handling of biological eyes, electronic cameras, and general action spectra

  5. a few advanced calculations, such as computing optimal colors (aka Macadam Limits)

  6. built-in essential tables, such as the CIE illuminants and color matching functions

  7. a package logging system with log levels taken from the popular Log4J

  8. support for reading a few spectrum file types, including CGATS

  9. bonus files containing some other interesting spectra

  10. minimal dependencies on other R packages


  1. there is no support for many common 3D color spaces, such as CIELAB, HSL, etc.. For these spaces see packages colorspace and colorscience.

  2. there are few non-linear operations

  3. there is little support for scientific units; for these see package colorscience

  4. photons are parameterized by wavelength in nanometers; other wavelength units (such as Angstrom and micron) and alternative parameterizations (such as wavenumber and electronvolt) are not available

Regarding the non-linear operations in 2, the only such operations are conversion of linear RGB to display RGB, conversion of absorbance to transmittance, and the reparameterized wavelength in computeADL. The electronic camera model is purely linear with no dark current offset or other deviations.

Many ideas are taken from packages hyperSpec, hsdar, pavo, and zoo.


Glenn Davis <[email protected]>

See Also

colorSpec for the S3 class provided by this package.

colorSpec User Guide

colorSpec documentation built on April 2, 2018, 5:05 p.m.