OPTPROP is a general toolbox for various color conversions and calculations. It is general in that in addition to handling various standard illuminants, observers and RGB color spaces, it can also handle custom specifications. It is a toolbox, in that it is not just a collection of routines. Instead, most routines have a common interface and can be combined seamlessly to form higher order routines.
The most novel feature of OPTPROP is its flexible argument passing mechanism, e.g. a conversion from XYZ to Lab can be carried out in any of the following ways:
X,Y,Z can have any dimensions as long as they are equal and XYZ can also have any dimensions as long as SIZE(XYZ,NDIMS(XYZ))==3. The non-colorimetric dimensions are retained and propagated to Lab and L,a,b respectively.
In addition to pure data, many conversion routines needs arguments like illuminant and observer. These arguments can be entered in each call, but can also be left out. In this case, the routines get these additional arguments from a set of default values that can be set on a session basis or as defaults for all subsequent sessions.
OPTPROP knows of many standard optical specifications and definitions, such as:
- illuminants: including
.....A, C, D50, D55, D65, D75, F1 through F12
- arbitrary blackbody and D illuminants
- observers, CIE 1931 2° and CIE 1964 10°
- RGB color spaces, such as sRGB, Adobe, Prophoto
- chromatic adaptation transforms, such as
.....scaled, vonKries and Bradford
When OPTPROP needs constants tabulated by ASTM, such as color weighting functions, it will use the pristine tabulated values whenever there is a table that fits the specified wavelength range for that illumination. If no suitable table exists, OPTPROP will interpolate the wanted table from the basic underlying tables and definitions. This makes it possible to use even non-standard illuminations such as e.g. D57.
All toplevel routines of OPTPROP are documented in an accompanying 110-page pdf manual.
The OPTPROP toolbox was written by Jerker Wågberg, More Research and DPC - Digital printing Center, as a part of the project "Interaction between ink and paper", a project sponsored by the Knowledge Foundation, Sweden.