Features:
- a clear classification of the commonly seen spectra into 4 types - depending on the vector space to which they belong
- flexible organization for the spectra in memory, using an S3 class - colorSpec
- a product algebra for the colorSpec objects
- uniform handling of biological eyes, electronic cameras, and general action spectra
- a few advanced calculations, such as computing optimal colors (aka Macadam Limits)
- built-in essential tables, such as the CIE illuminants and color matching functions
- a package logging system with log levels taken from the popular Log4J
- support for reading a few spectrum file types, including CGATS
- bonus files containing some other interesting spectra
- minimal dependencies on other R packages
Non-features:
- there is no support for many common 3D color spaces, such as CIELAB, HSL, etc..
For these spaces see packages colorspace and colorscience.
- there are few non-linear operations
- there is little support for scientific units; for these see package colorscience
- photons are parameterized by wavelength in nm;
other wavelength units and common alternative metrics
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.