# Babl glossary

## Glossary

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
  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 Unified alpha transformations between separate alpha and associated alpha.
BablFish
  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.
BablFormat
  The data type used to describe a pixel format encoding, it consists of the specific order of components.
BablSpace
  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.
BablModel
  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.
CIE
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.
Luminance
  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.
Premultiplied alpha
  deprecated term, see associated alpha
Straight alpha
  Straight or separate alpha has alpha as a fully separate component, that can be adjusted without affecting the color. Babl uses symetric alpha transformations between straight and associated alpha.
TRC