Glossary

From GIMP Developer Wiki
Revision as of 13:39, 19 January 2014 by Scl (Talk | contribs)

Jump to: navigation, search

This glossary contains definitions important for the GIMP development. These include functional definitions i.e. from computer graphics and color theory, photography, terms from babl and GEGL etc.

Table of Contents

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

References

A

  • a (lowercase) -
    • The axis in the CIELAB color model which denotes the green-magenta component of the color. A low numerical value on this axis denotes green and a high value magenta.
    • [babl] denotes a color channel to be premultiplied with alpha, for instance RaGaBa is premultiplied alpha RGB
  • alpha - opacity. An alpha value of 0 means 'transparent', an alpha value of 100 means 'fully opaque', values in between mean 'partly opaque'.

B

  • B (uppercase) -
    • Blue color channel in the RGB color model.
    • brightness component of the HSB color model.
    • In photography: symbol for brightness: obsolete, but may be found on older light meters. [2]
    • Bulb (in photography): Used for long exposures timed by the photographer. Setting for shutter at which shutter opens when shutter button is pressed and stays open as long as shutter button is kept down. [2]
  • b (lowercase) - the axis in the CIELAB color model which denotes the blue-yellow component of the color. A low numerical value on this axis denotes blue and a high value yellow.
  • babl - a dynamic, any to any, pixel format translation library.
    See also: babl website
  • brightness - attribute of a visual perception according to which an area or color appears to emit, or reflect, more or less light. This correlates directly with the amplitude of the lightwave. [1] [4]

C

  • CIE - Commission Internationale de l'Eclairage (International Commission on Illumination). Independent, non-profit organization for recommendations on photometry and colorimetry. Its aim is to exchange information on all matters relating to the science and art of light and lighting, color and vision, photobiology and image technology worldwide. It is recognized by ISO as an international standardization body. The CIE has defined several color spaces that describe the range of visible colors in unambiguous numerical terms. [1] [4]
  • Clang - the C compiler of the LLVM project. Clang is able to cross-compile code, i.e. build GIMP for Windows on a Linux machine [7].
  • Clipboards - Explanation of the consensus of the Qt and GTK+ developers on how the X clipboard works. Standard specific to the X window system.
    See also informal specification.
  • Clipboard Manager - The Clipboard Manager specification describes how applications can actively store the contents of the clipboard when the application is quit. This requires that a compliant clipboard manager is running. Standard specific to the X window system.
    See also specification.
  • CMY - color model with the three primary colors Cyan, Magent and Yellow. The three "subtractive" primary colors used as the basis of all dye or pigment-based printing systems and color photography. A full range of colors including neutral grays and blacks can be produced with good cyan, yellow and magenta colorants (e.g. color film dyes) but typical printing inks are less than perfect. [1]
  • CMYK -
    • color model with the four primary colors Cyan, Magenta, Yellow, Key color (usually Black). The four colors commonly used in process color printing. Black is added to CMY to enhance the density of dark areas and solve gray balance problems encountered when trying to make neutral grays with CMY alone. [1]
    • [babl] implementation of the CMYK color model.
  • compiler - a program to translate code in a programming language into executable machine code, i.e. gcc or Clang. In GIMP there's no recommended default C compiler. Instead the platform default will be used automatically.
  • color model - a mathematical model to describe colors and handle them formally, such as points in a coordinate system. This is the more theoretically abstract background of color computation. Practically this term is often used synonymously to color space.
    Examples are CIELAB , RGB and XYZ .
  • color space - a geometric representation of color in space, usually of 3 dimensions [4]. While color models are the theoretical background color spaces describe the set of visible or reproducable colors [2]. Practically this term is often used synonymously to color model. To get a visual notion of various color spaces and their relationships see Bruce Lindblooms 3D Gamut Viewer demo.
    Examples are AdobeRGB, sRGB and Wide Gamut RGB.
    To assign a numerical vector to a real color you need both a color model and a color space. As an example the numbers (0,1,0) are given. In XYZ color model with sRGB color space they represent a pure green. In XYZ color model with AdobeRGB color space you get a pure, but more saturated green. In HSB color model+sRGB color space these numbers represent a pure black.
  • color temperature - formally the temperature of an ideal black body radiator whose radiation has the same chromaticity as that of a given stimulus. [4] Practically it's a synonym for white point [1]. Not to be confused with the artistic classification into warm colors (i.e. yellow, orange) and cold colors (i.e. blue).
    Unit: K (Kelvin).
  • chroma - Colorfulness of an area judged as a proportion of the brightness of a similarly illuminated area that appears white or highly transmitting. [1] [4]
    See also saturation.
  • chromaticity - The color properties of a sample judged independently of luminance, i.e. in terms of hue and saturation only. [1]

D

  • D50 - a CIE standard illuminant with the spectral power distribution of daylight (which has a color temperature of 5003 Kelvin). It is chosen for the special needs of the paper printing industry and thus the preferred reference white for evaluating prints on paper. Compared to D65 it's a bit more yellowish.
  • D65 - a CIE standard illuminant with the spectral power distribution of noon mid-latitude daylight (which has a color temperature of 6504 Kelvin). It's the white balance standard used for sRGB color space and to calibrate display screens. Compared to D50 it's a bit more bluish.
  • Desktop Entry Specification - This document describes desktop entries: files describing information about an application such as the name, icon, and description. GIMP installs such a .desktop file.
    See also: specification.
  • DND - Drag and Drop.
  • DNG - Digital Negative. An image file format aiming to become a device-independent standard for storing raw data from digital cameras.
    See also specification.

E

  • Extended Window Manager Hints - The Window Manager Specification is meant to unify the GNOME and KDE window manager hint conventions. Standard specific to the X window system.
    See also specification.

F

  • File URI specification - Specifies how URIs for normal UNIX filenames (file: URIs) are interpreted and created. This functionality is provided by GLib.
    See also specification.

G

  • gcc - a C compiler. Part of the free GNU Compiler Collection. On Linux it usually ships with your distribution. On Windows it's part of MinGW. On OS X XCode versions before 4.2 used gcc; then Apple moved to llvm-gcc and Clang. FreeBSD 10 deprecates gcc support in favor of Clang. [5] Gcc is able to cross-compile, i.e. build GIMP for Windows on a Linux machine.
  • GEGL - Generic Graphics Library, a graph based image processing framework. It is GIMP's foundation for nondestructive image editing in high bit depths. GEGL provides the infrastructure to do demand based, cached, nondestructive image editing on larger than RAM buffers. Through babl it provides support for a wide range of color models and pixel storage formats for input and output. GEGL support in current GIMP versions is experimental and will be official part of GIMP in version 2.10.
    See also: GEGL website, GEGL porting matrix
  • GIF - Graphics Interchange Format. A bitmap iImage file format, especially for web graphics with low image depths and optionally transparency, i.e. logos or animations. In GIMP the GIF plug-in handles this format.
    See also: GIF89a specification
  • GIMP Hackordnung - The last section from the file HACKING as found in the GIMP source tree explains how the GIMP source code should be formatted.
  • GNU coding standards - A guide to writing portable, robust and reliable programs. Also defines the GNU coding style.
  • GPU computing - a means to utilize the computing power of graphic-cards processors for general purposes.
  • gradation - relationship of reproduced lightness values to original lightness values in an imaging process. It is usually expressed as a 'tone curve', which is the Curves tool in GIMP. [1]
  • GSoC - Google Summer of Code. Annual mentoring program hosted by Google Inc. to offer and award students to work on open source projects during summer. GIMP has been participating for many years.
    See also: GSoC website, GIMP's GSoC participation

H

  • HIG - Human Interface Guidelines. Set of visual and interaction guidelines to work with a particular platform.

I

  • ICC - International Color Consortium. An organisation of industry vendors for the purpose of creating, promoting and encouraging the standardization and evolution of an open, vendor-neutral, cross-platform color management system architecture and components. [9]
  • ICC Profiles in X specification - a specification for associating ICC color profiles with X screens. GIMP 2.4 implements this proposed standard.
    See also specification
  • ICC specification - Specifies the profile format defined by the International Color Consortium (ICC). The intent of this format is to provide a cross-platform device profile format that can be used to translate color data between device colorspaces.
    See also specification.
  • ICCCM - Inter-Client Communication Conventions Manual. This spec defines the interaction between X11 clients. In particular it talks about selections, cut buffers, window and session management, manipulation of shared resources and device color characterization.
    See also specification.
  • illuminance - measurement of the amount of light coming from a light source. Illuminance is measured in footcandles or Lux. [1]
  • illuminant -
    • a mathematical description of a real or imaginary light source described by its spectral power distribution. This definition applies especially for standard illuminants like D50 and D65. For examples and calculations see CIE's selected colorimetric tables (xls). Illuminant A was designated to represent tungsten light and Illuminant D was designated to represent daylight. [1]
    • [coll.] any kind of light falling on a body or scene [4].

J

  • JPEG -
    • Joint Photographic Experts Group. A lossy compression method standardised by ISO. [8]
    • An image file format and its filename extension, see JPEG JFIF
  • JPEG JFIF - an image file format (usually referred to as JPEG) for the transport of single JPEG-compressed images. It has three color channels (Red, Green, Blue) with a bit depth of 8 bit each. JPEG JFIF doesn't support transparency. It's most often used for photographs. In GIMP the JPEG plug-in handles this format.
  • JNG - JPEG network graphics format. A bitmap image file format. GIMP doesn't use this format yet but it would be nice to extend the MNG plug-in to use it and to add a dedicated JNG plug-in.
    See also specification.

K

L

  • L (uppercase) - The axis in the CIELAB color model which denotes the lightness component of the color. A low numerical value on this axis denotes a dark color and a high value a light color.
  • LGM - Libre Graphics Meeting. Annual conference of developers and users of graphics open source software. GIMP has been participating for many years. Website
  • light, linear - light as it is in nature and captured by camera sensors (and thus is encoded in RAW images).
  • light, perceived - light as it is processed by eye and brain. The difference between linear and perceived light is that human eyes react to the same change of (linear) light with different sensitivity in dark or light environments. Perceived light is the basis of color (e.g. color is the result of light, processed by eyes and brain).
  • lightness - a number that corresponds to the human perception of light from a surface (e.g. the brightness of a color relative to the brightness of a similar illuminated white area) [1] [4].
  • LLVM - Low Level Virtual Machine. A collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines [6]. You can get it for Linux, Windows and FreeBSD 9 from the LLVM download page. On OS X LLVM is part of XCode 4.2 and later. LLVM's Clang is also the default C compiler in FreeBSD 10.
  • luminance -
    • the weighted sum of R, G and B color component (=in linear light) Wikipedia article
    • a measurement of the amount of light leaving the surface of an object in a particular direction. It is often expressed in candelas per square meter (cd/m2) [1].
  • luminance, relative - luminance with numerical values normalized to 1...100 (100=reference white), see Wikipedia.

M

  • MNG - Multiple-image Network Graphics. An image file format. In GIMP the MNG plug-in handles this format.
    See also specification.
  • module - a part of GIMP providing optional functionality, such as input controllers, color selectors and display filters. Modules can be activated and deactivated in the Module manager (mostly in Edit/Modules menu, on OS X in the GIMP menu); changes apply at GIMPs next start. Technically modules are tightly integrated with the GIMP core. They are shared objects that run in the GIMP process.
    GIMP's modules, plug-in.

N

O

  • OpenCL - open standard for parallel programming of heterogeneous systems, i.e. using additional CPU processors or GPU computing. OpenCL requires a driver from the manufacturer of the CPU or GPU. GEGL uses OpenCL to improve its own performance.
    See also website, GEGL porting matrix.

P

  • PDB - Procedural DataBase. The PDB (Procedural DataBase) is the most important interface to access the image manipulation functions of GIMP. The libgimp library provides some functions to call functions from the PDB or enter new functions into the PDB.
  • Perl - a programming language. Perl programs are interpreted. The filename extension is .pl. GIMP uses it to generate PDB interfaces from plug-ins, see the Perl files in /plug-ins/common and /tools/pdbgen.
    See also website.
  • plug-in - an optional part of GIMP, providing extra functionality, like filters and file loaders/savers GIMP plug-ins are programmed in C or Python. Plugins are limited mostly to accessing image data.
The difference to scripts is not functional, but only technical. In fact, GIMP's Script-Fu interpreter is a plug-in.
The difference to modules is that modules tend to be more tightly integrated with the GIMP core, while plug-ins are almost standalone. Modules are shared objects that run in the GIMP process, while plug-ins are separate executables, which are run in a different process. This means that a crashing module will crash GIMP, while a crashing plug-in doesn't cause GIMP to crash.
See also GIMP's plug-ins, GIMP plug-in registry
  • PNG - Portable Network Graphics. A bitmap image file format. In GIMP the PNG plug-in handles this format. GIMP also reads patterns in the PNG file format and it stores thumbnails as PNG images.
    See also specification.
  • primary - abbreviation for primary color, e.g. one of the colors in a color model of which all other colors are mixed from. In RGB these are Red, Green and Blue while in CMY these are Cyan, Magenta and Yellow.

Q

R

  • Recent File Storage Specification - Provides a standard mechanism for storing a list of recently used files. Supported since GIMP version 2.1.6.
    See also specification.

S

  • Scheme - a programming language. The current standard version is R6RS, while the TinyScheme, the version in GIMP implements a subset of the older version R5RS.
    See also language description.
  • Shared MIME Database - The shared MIME database contains common MIME types, descriptions, and rules for determining the types of files. GIMP file plug-ins should use the MIME types and descriptions defined here.
    See also specification.
  • Startup Notification - Specifies a mechanism allowing a desktop environment to track application startup to provide user feedback. GTK+ provides support for this protocol.
    See also specification.
  • SVG 1.1 - Scalable Vector Graphics. A vector graphics format. GIMP uses it to import vector graphics, import and export paths and load gradients from SVG files. In GIMP the SVG plug-in handles this format. To create standards conform SVG graphics with free, open source software you can use Inkscape for instance.
    See also W3C recommendation

T

  • Thumbnail Managing Standard - Deals with the permanent storage of previews for file content. In particular, it tries to define a general and widely accepted standard for this task. GIMP 2.0 implements this standard and dropped support for the old-fashioned .xvpics.
    See also specification.
  • TRC - Tone Response Curve. A curve describing the signal response of the eye or an sensor to changes in linear light and as such the foundation for perceived light.

U

V

  • Value -
    • Level of brightness of a pixel or color as defined in HSV color model. [2]
    • Designation of lightness of color in the Munsell system of color nomenclature. [2]
    • Tone or brightness of a color as assessed subjectively: high values give light colors, low value colors appear dark. [2]
    • [photo] in the Zone System the step or zone which corresponds to a certain range of subject brightness. [2]
    • [photo] Camera setting or range of settings based on scales of shutter time, lens aperture, exposure value, luminance and film speed. [2]

W

  • W3C - World Wide Web Consortium. The W3C is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards, such as SVG 1.1, XML and XSL. [10]

X

  • XDND - Drag-and-Drop Protocol for the X Window System. XDND defines a standard for drag and drop on X11. It is implemented by GTK+.
    See also specification.
  • XDS - Direct Save Protocol for the X Window System. XDS defines an extension to XDND that allow users to save a file by simply dragging it to a file manager window. GIMP 2.4 supports this protocol.
    See also specification.
  • XMP - Extensible Metadata Platform. A labeling technology that allows to store metadata. This information is either embedded in the file itself or as separate file (a so-called XMP sidecar file).
    See also specification, XMP description at Adobe
  • XSETTINGS - The XSETTINGS protocol provides a mechanism for applications written with different toolkits to share simple configuration settings such as double-click-times and background colors. GTK+ hides this from us.
    See also specification.
  • XSL - Extensible Stylesheet Language Family. XSL is a family of recommendations for defining XML document transformation and presentation. It consists of the parts XSLT, XML Path Language (XPath) and XSL Formatting Objects (XSL-FO).
    See also: W3C website.

Y

  • YCbCr - a color model with the components Y (luminance), Cb and Cr. Unlike RGB it encodes the image information in luminance (channel Y) and chrominance (channels Cb and Cr). YCbCr operates in linear light. It is used for digital video and has good image compression capabilities.
  • YCC - abbreviation of YCbCr.
  • YIQ - color model which separates luminance (Y component) from chroma (I, Q components). It is used for analog TV (NTSC in the U.S.) and thus irrelevant for digital image editing.
  • YPbPr - the analog equivalent to YCbCr and thus irrelevant for digital image editing.
  • YUV - color model which separates luminance (Y component) from chroma (U, V components). It is used for analog TV (PAL in Europe) and thus irrelevant for digital image editing.

Z

References

  1. CHROMiX ColorWiki
  2. idigitalphoto Photography Dictionary
  3. Wikipedia:HSL and HSV
  4. CIE: e-ILV: International Lighting Vocabulary
  5. Michael Larabel: FreeBSD 10 To Use Clang Compiler, Deprecate GCC
  6. LLVM website
  7. Clang Team: Cross-compilation using Clang
  8. W3C, Chris Lilley: JPEG JFIF
  9. ICC: About ICC
  10. W3C website