This vocabulary is meant as a guide to the concepts involved in babl to help with understanding of the code and APIs, and help continued development to keep the vocabulary small.

Alpha is the name used for transparency in computer programming, two main forms exist associated alpha and separate alpha.
Associated alpha
Alpha in an additive light representation where each component has its own associated alpha. This representation is useful for avoiding color from empty pixels bleeding into surroundings. It is also able to represent emittance in addition to opacity. Babl uses Symmetric alpha transformations between separate alpha and associated alpha.
The objects used for processing pixels, it converts between two BablFormats, the first time a pair of formats are passed to babl_fish(format_in, format_out) a benchmark is run, and the fastest combination of conversions available in babl to achieve the conversion within configured accuracy is returned and cached for subsequent requests.
The data type used to describe a pixel format encoding, it consists of the specific order of components.
a BablSpace describes the specifics of a BablModel - current types of BablSpaces in use in babl are RGB and CMYK based ones; the space encodes the specific parameters like custom TRCs and Primaries.
In babl a model describes a specific family of color encodings - with its list of color components. For the RGB and Grayscale spaces, the model also specifies any nonlinearities as TRCs.
ICC Profile
A blob/file format from the International Color Consortium, that can be used for specifies RGB or CMYK color spaces, babl has support for v2 and v4 RGB matrix profiles, as well as support for CMYK based profiles by using LCMS2.
EncodingIn babl, the encoding refers to the part of a bablformat comprised by model, and choice and order of components + data type. In other words all the aspects of the format apart from the BablSpace. A babl format can be recreated from its encoding and - for relevant spaces - the ICC profile for the space.
The photometric measure of luminious intensity of per unit area of light. The luminance in babl is proportional to luminance - though it doesn't use the SI unit of candela per square meter.
Non-associated alpha
deprecated term, see separate alpha
Premultiplied alpha
deprecated term, see associated alpha
Separate alpha
This representation of pixels has alpha as a fully separate component, that can be adjusted without affecting the color. Babl uses Symmetric alpha transformations between separate and associated alpha.