Learn R Programming

colorSpec (version 1.5-0)

LightSpectra: compute standard light spectra

Description

Two families of standard illuminants that are parameterized by temperature are the Planckian spectra (black-body spectra), and daylight spectra. For the daylight spectra, a smoothed version is available. Illuminant E, a third and trivial spectrum, is also available.

Usage

planckSpectra( temperature, wavelength=300:830, normalize=TRUE, c2=1.4388e-2 )

daylightSpectra( temperature, wavelength=NULL, components=colorSpec::daylight1964, roundMs=FALSE )

illuminantE( energy=1, wavelength=380:780 )

Value

For planckSpectra() and daylightSpectra() :

A colorSpec object with quantity equal to 'energy', and organization equal to 'matrix' or 'vector'. The specnames are PNNNN or DNNNN

for planckSpectra() and daylightSpectra() respectively.

The number of spectra in the object is the number of temperatures = length(temperature).

For illuminantE() :

A colorSpec object with quantity equal to 'energy'.

The number of spectra in the object is the number of energy levels = length(energy).

Arguments

temperature

a vector of temperatures, in Kelvin

wavelength

a vector of wavelengths. For planckSpectra() and illuminantE() this is required. For daylightSpectra() this is optional. The default wavelength=NULL means to use the wavelengths in components, and otherwise components is resampled at the given wavelength vector.

normalize

a logical value. If TRUE the Planck spectra are normalized to have value 1 at 560nm. If FALSE then the quantity returned is radiant exitance with unit \(W * m^{-2} * nm^{-1}\).

c2

the value of \(hc/k\) in Planck's law. \(h\) is the Planck constant; \(c\) is the speed of light in \(m/sec\); and \(k\) is the Boltzmann constant. The default value of 1.4388e-2 \(m*K\) was recommended by the CIE in 2005; in 1986 the CIE recommended c2=1.438e-2. If c2='calc' then c2 is calculated directly from the 3 physical constants, as recommended by CODATA 2014.

components

a colorSpec object with the daylight components \(S_0, S_1\), and \(S_2\). The default is daylight1964 and a smoothed version daylight2013 is also available.

roundMs

a logical value. The original CIE method for the daylight spectra requires rounding intermediate coefficients M1 and M2 to 3 decimal places. This rounding is necessary to reproduce the tabulated values in Table T.1 of the CIE publication in References.

energy

a vector of energy levels

Details

For planckSpectra() the valid range of temperatures is 0 to Inf (\(\infty\)) K, but with exceptions at the endpoints. For a negative temperature the spectrum is set to all NAs.
If temperature=0 and normalize=TRUE, the spectrum is set to all NAs. If temperature=0 and normalize=FALSE, the spectrum is set to all 0s.
Conversely, if temperature=Inf and normalize=FALSE, the spectrum is set to all NAs. If temperature=Inf and normalize=TRUE, the spectrum is set to the pointwise limit \((560/\lambda)^4\) (which appears blue).

For daylightSpectra() the valid range of temperatures is 4000 to 25000 K. For a temperature outside this range the spectrum is set to all NAs.

The equations for daylightSpectra() and planckSpectra() are complex and can be found in the References.

IlluminantE() is trivial - all constant energy.

References

Günther Wyszecki and W.S. Stiles. Color Science : Concepts and Methods, Quantitative Data and Formulae. Second Edition. Wiley-Interscience. 1982. page 146.

CIE 15: Technical Report: Colorimetry, 3rd edition. CIE 15:2004. Table T.1, pp 30-32, and Note 5 on page 69.

Schanda, Janos. CIE Colorimetry, in Colorimetry: Understanding the CIE System. Wiley Interscience. 2007. p. 42.

See Also

daylight, resample, organization, quantity, materialSpectra