colour.colorimetry.planck_law#
- colour.colorimetry.planck_law(wavelength: ArrayLike, temperature: ArrayLike, c1: float = CONSTANT_C1, c2: float = CONSTANT_C2, n: float = CONSTANT_N) NDArrayFloat [source]#
Return the spectral radiance of a blackbody as a function of wavelength at thermodynamic temperature \(T[K]\) in a medium having index of refraction \(n\).
- Parameters:
wavelength (ArrayLike) – Wavelength in meters.
temperature (ArrayLike) – Temperature \(T[K]\) in kelvin degrees.
c1 (float) – The official value of \(c1\) is provided by the Committee on Data for Science and Technology (CODATA) and is \(c1=3,741771x10.16\ W/m_2\) (Mohr and Taylor, 2000).
c2 (float) – Since \(T\) is measured on the International Temperature Scale, the value of \(c2\) used in colorimetry should follow that adopted in the current International Temperature Scale (ITS-90) (Preston-Thomas, 1990; Mielenz et aI., 1991), namely \(c2=1,4388x10.2\ m/K\).
n (float) – Medium index of refraction. For dry air at 15C and 101 325 Pa, containing 0,03 percent by volume of carbon dioxide, it is approximately 1,00028 throughout the visible region although CIE 15:2004 recommends using \(n=1\).
- Returns:
Radiance in watts per steradian per square metre (\(W/sr/m^2\)).
- Return type:
Warning
The
colour.colorimetry.planck_law()
definition behaviour with n-dimensional arrays is unusual: Thewavelength
andtemperature
parameters are first raveled usingnumpy.ravel()
. Then, they are broadcasted together by transposing thetemperature
parameter. Finally, and for convenience, the return value is squeezed usingnumpy.squeeze()
.Notes
The following implementation is expressed in terms of wavelength.
The SI unit of radiance is watts per steradian per square metre (\(W/sr/m^2\)).
References
Examples
>>> planck_law(500 * 1e-9, 5500) 20472701909806.5... >>> planck_law(500 * 1e-9, [5000, 5500, 6000]) array([ 1.2106064...e+13, 2.0472701...e+13, 3.1754431...e+13])