Difference between revisions of "Glossary"

From GIMP Developer Wiki
Jump to: navigation, search
(References)
(correct heading level of Trademarks)
 
(102 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This glossary holds definitions important for the GIMP development. These include functional definitions i.e. from computer graphics and color theory, terms from BABL and GEGL etc.
+
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.
 +
 
 +
 
 +
[https://bugzilla.gnome.org/enter_bug.cgi?product=gimp-web&component=wiki.gimp.org Report a bug]
 +
 
  
  
 
==Table of Contents==
 
==Table of Contents==
  
[[#A|A]] [[#B|B]] [[#C|C]] [[#D|D]] [[#E|E]] [[#F|F]] [[#G|G]] [[#H|H]] [[#I|I]] [[#J|J]] [[#K|K]] [[#L|L]] [[#M|M]] [[#N|N]] [[#O|O]] [[#P|P]] [[#Q|Q]] [[#R|R]] [[#S|S]] [[#T|T]] [[#U|U]] [[#V|V]] [[#W|W]] [[#X|X]] [[#Y|Y]] [[#Z|Z]]
+
{{link|Legend}}
  
[[#References|References]]
+
{{link|A}} {{link|B}} {{link|C}} {{link|D}} {{link|E}} {{link|F}} {{link|G}} {{link|H}} {{link|I}} {{link|J}} {{link|K}} {{link|L}} {{link|M}} {{link|N}} {{link|O}} {{link|P}} {{link|Q}} {{link|R}} {{link|S}} {{link|T}} {{link|U}} {{link|V}} {{link|W}} {{link|X}} {{link|Y}} {{link|Z}}
 +
 
 +
{{link|References}}
 +
 
 +
{{link|Trademarks}}
 
__NOTOC__
 
__NOTOC__
 +
 +
==Legend==
 +
 +
{|
 +
|[babl]  || specific to {{link|babl}}
 +
|-
 +
|[COL]  || colorimetry
 +
|-
 +
|[coll.] || colloquial
 +
|-
 +
|[GEGL]  || specific to {{link|GEGL}}
 +
|-
 +
|[GIMP]  || specific to {{link|GIMP}}
 +
|-
 +
|[photo] || photography
 +
|}
 +
 +
 
==A==
 
==A==
*'''A (uppercase)''' -  
+
*{{term | a (lowercase)}} - {{link|babl | [babl]}} denotes a color channel to be premultiplied with {{link|alpha}}, for instance RaGaBa is premultiplied {{link|alpha}} {{link|RGB}}
*:*The alpha channel in a color model, for instance in RGBA.
+
 
*:*In babl the alpha value in a color model. If combined with alpha-premultiplied color channels: the alpha value each color channel R, G, B was multiplied with to achieve Ra, Ga, Ba. Needed to get from RaGaBa back to RGB. The same applies to R'aG'aB'aA, YaA, Y'aA.
+
*{{term | a* (lowercase)}} - The axis in the {{link|CIELAB}} {{link|color model}} which denotes the green-magenta component of the color. A negative value on this axis denotes green and a positive value denotes magenta.
*'''a (lowercase)''' -  
+
 
*:*The axis in the CIELAB color space which denotes the magenta-green component of the image. One end of the axis is green and the other end red. Combined with the b axis, you can describe the hue and saturation of a color. {{ref|[[www.colorwiki.com/wiki | CHROMiX ColorWiki]]}}
+
*{{term | A (uppercase)}} -  
*:*In babl: marks a color channel to be premultiplied with alpha, for instance RaGaBa is premultiplied alpha RGB
+
*:*The {{link|alpha}} channel in a {{link|color model}}, for instance in {{link|RGBA}}.
{{right|[[#Table of Contents|Table of Contents]]}}
+
*:*{{link|babl | [babl]}} the {{link|alpha}} value in a {{link|color model}}. If combined with alpha-premultiplied color channels: the alpha value each color channel R, G, B was multiplied with to achieve Ra, Ga, Ba. Needed to get from RaGaBa back to {{link|RGB}} . The same applies to {{link|R'aG'aB'aA}}, {{link|YaA}}, {{link|Y'aA}}.
 +
 
 +
*{{term | abyss}} - {{link|GEGL|[GEGL]}} data from outside the input buffer.
 +
 
 +
*{{term | abyss policy}} - {{link|GEGL|[GEGL]}} the behaviour rule to handle {{link|abyss}} data: to clamp to the border, loop in the buffer extent, or implement a more intelligent algorithm.  For instance see the [https://git.gnome.org/browse/gegl/plain/operations/common/ripple.c Ripple operation]. Setting the abyss policy to GEGL_ABYSS_LOOP adds the tileability to the operation for free.
 +
 
 +
*{{term | alpha}} - opacity. An alpha value of 0 means 'transparent', an alpha value of 100 means 'fully opaque', values in between mean 'partly opaque'.
 +
 
 +
*{{term | API}} - Application Programmers Interface. The technical interface of a library to external developers who are intended use it. It defines the provided services, their semantic and syntax. On implementation level these are the public data types, enumerators and functions with their signatures.<br>See also: [http://gegl.org/api.html GEGL API] , [http://gegl.org/#_operation_api GEGL operation API], [http://developer.gimp.org/api/2.0/index.html GIMP API].
 +
 
 +
*{{term | ArgyllCMS}} - an open source color management system for profiling input devices (scanner, camera, etc) and calibrating and profiling output devices (printer, monitor, etc), plus a suite of command line utilities for exploring, linking, and converting between ICC profiles.<br>See also the [http://argyllcms.com/ ArgyllCMS website].
 +
 
 +
*{{term | Autohell}} - [coll.] synonym for {{link|Autotools}}, because they are practically hard to figure out.
 +
 
 +
*{{term | Autotools}} - the GNU build system. They check the current configuration to ensure all dependencies are in place, generate the Makefiles and execute them to do several tasks like compiling, installing and testing a program.<br>See also the [http://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html#Autotools-Introduction GNU Autotools website].
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==B==
 
==B==
* '''babl''' <span id="babl" /> - a dynamic, any to any, pixel format translation library. ([http://www.gegl.org/babl Website])
+
*{{term | b* (lowercase)}} - the axis in the {{link|CIELAB}} {{link|color model}} which denotes the blue-yellow component of the color. A negative value on this axis denotes blue and a positive value denotes yellow.
{{right|[[#Table of Contents|Table of Contents]]}}
+
 
 +
*{{term | B (uppercase)}} -
 +
*:*Blue color channel in the {{link|RGB}} {{link|color model}}.
 +
*:*{{link|brightness}} component of the HSB {{link|color model}}.
 +
*:*[photo] symbol for {{link|brightness}}: obsolete, but may be found on older light meters. {{fn_ref|2}}
 +
*:*[photo] Bulb: 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. {{fn_ref|2}}
 +
 
 +
*{{term | babl}} - a dynamic, any to any, pixel format translation library. <br>See also: [http://www.gegl.org/babl babl website]
 +
 
 +
*{{term | backend}} - generally the internal part of a library that implements its public {{link|API}}. In {{link|GEGL}} this could for instance be computing an {{link|operation}}, storing {{link|tile|tiles}} and memory management.
 +
 
 +
*{{term | black point}} - the light-source's (e.g. a monitor) or sensor's interpretation of black.
 +
 
 +
*{{term | Bradford transform}} - a matrix used to convert {{link|XYZ|XYZ}} colors to the {{link|LMS|LMS}} color space when {{link|chromatic adaptation|chromatically adapting}} a color in order to maintain constant color appearance under different light sources. The Bradford transform is recommended by the {{link|ICC|ICC}} and used by {{link|ArgyllCMS|ArgyllCMS}} and {{link|LCMS|LCMS}} when making ICC D50-adapted RGB profiles from color spaces such as the sRGB D65 color space.
 +
 
 +
*{{term | 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. {{fn_ref|1}} {{fn_ref|4}}
 +
 
 +
*{{term | bug}} - an error in a program, e.g. an existing feature doesn't work as specified or usually expected. Requests for new features are not bugs, but {{ link | enhancement request | enhancement requests}}.
 +
 
 +
*{{term | bugtracker}} - a software system for gathering, managing and keeping track of {{link | bug | bugs }} and {{ link | enhancement request | enhancement requests}}. We use {{link | Bugzilla}} for bugtracking.
 +
 
 +
*{{term | Bugzilla}} - the GIMP project uses [https://bugzilla.gnome.org/ Bugzilla] of the GNOME project, a {{link | bugtracker}} that allows us to coordinate bug reports. Bugzilla is also used for enhancement requests and the preferred way to submit patches for GIMP is to open a bug report and attach the patch to it.<br>See also: [http://www.bugzilla.org/ Bugzilla website], [http://www.gimp.org/bugs/ Reporting bugs in GIMP].
 +
 
 +
*{{term | build}} -
 +
*:* (verb) - the process of {{link|compiler|compiling}} and {{link|linker|linking}} a software from its sourcecode.
 +
*:* (noun) - the result of the build process, i.e. a binary or archive, distributable file.
 +
 
 +
*{{term | Bz }} - abbreviation for {{link | Bugzilla}}.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==C==
 
==C==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | C (uppercase)}} -
 +
*:*Cyan color component of the {{link|CMY}} and {{link|CMYK}} {{link|color model|color models}}.
 +
*:*{{link|chroma}} component of the LCH {{link|color model}}.
 +
*:*the programming language most of {{link|GIMP}}, {{link|GEGL}} and {{link|babl}} is programmed with. Specified in the [http://www.nirvani.net/docs/ansi_c.pdf ISO 9899] international standard. C itself is not object oriented, but GIMP and GEGL use object orientation by the use of {{link|GObject}}.
 +
 
 +
*{{term | Cb}} - the Blue component of {{link|YCbCr}} {{link|chroma}}.
 +
 
 +
*{{term | chroma}} - Colorfulness of an area judged as a proportion of the {{link|brightness}} of a similarly illuminated area that appears white or highly transmitting. {{fn_ref|1}} {{fn_ref|4}} <br>See also {{link|saturation}}.
 +
 
 +
*{{term | chromatic adaptation}} -
 +
*:* (in everyday experience) - the process by which our eyes automatically adapt to light from different light sources so that color appearance remains constant. As the {{link|color temperature|color temperature}} of the ambient light changes, the respective sensitivities of the Long, Medium, and Short cone cells in the eyes also change. Without chromatic adaptation a white object might look blue in the shade, white in the sun, and yellow by candlelight, and a red object might look purple-red in the shade, red in the sun, and orange-red by candlelight.
 +
*:* (mathematically) - the process of using a {{link|chromatic adaptation model|chromatic adaptation model}} to convert RGB colors as perceived under one light source to the equivalent colors as perceived under a different light source, to maintain constant color appearance under both light sources. Proposed models include XYZ, Von Kries, {{link|Bradford transform|Bradford}}, and Sharp.
 +
 
 +
*{{term | chromatic adaptation model}} - a mathematical transform from the {{link|XYZ|XYZ}} color space to the {{link|LMS|LMS}} color space. A chromatic adaptation model is used to calculate the equivalent {{link|XYZ|XYZ}} colors required to maintain constant color appearance under different light sources.
 +
 
 +
*{{term | chromaticity}} - The color properties of a sample judged independently of {{link|luminance}}, i.e. in terms of hue and {{link|saturation}} only. {{fn_ref|1}}
 +
 
 +
*{{term | CI}} - abbreviation for {{link|Continuous Integration}}.
 +
 
 +
*{{term | 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 {{link|ISO}} as an international standardization body. The CIE has defined several {{link|color spaces}} that describe the range of visible colors in unambiguous numerical terms. {{fn_ref|1}} {{fn_ref|4}}
 +
 
 +
*{{term | CIE 1976 L*a*b*}} - synonym of {{link|CIELAB}}
 +
 
 +
*{{term | CIE Lab}} - {{link|babl|[babl]}} implementation of {{link|CIELAB}}.
 +
 
 +
*{{term | CIE Lab alpha}} - {{link|babl|[babl]}} implementation of {{link|CIELAB}} with an alpha channel {{link|A (uppercase)|(A)}}.
 +
 
 +
*{{term | CIEL*a*b*}} - synonym of {{link|CIELAB}}
 +
 
 +
*{{term | CIELAB}} - a device independent {{link|color model}} defined by {{link|CIE}} in 1976. It describes colors as points on the three axes {{link|L (uppercase) | L}}, {{link|a (lowercase) | a}}, {{link|b (lowercase) | b}}. It is also said to be the reference {{link|color model}} in Adobe Photoshop (but not GIMP), e.g. internal computations from one {{link|color space}} to another are done there via CIELAB.<br>See also [http://eilv.cie.co.at/term/157 CIELAB's formal definition] by the CIE.
 +
 
 +
*{{term | Clang}} - the {{link|C | C}} {{link|compiler}} of the {{link|LLVM}} project. Clang is able to cross-compile code, i.e. build GIMP for Windows on a Linux machine {{fn_ref|7}}.
 +
 
 +
*{{term | CLI}} - command line interface. A form of {{link|UI}} where the user interacts with the program by entering textual commands. This can e.g. be the set of commandline arguments that are passed to the the program on startup, or  a commandline in the {{link|GUI}} to enter textual commands. You can get the set of GIMP's commandline arguments by entering '''gimp --help''' at the systems shell.
 +
 
 +
*{{term | 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.<br>See also [http://www.freedesktop.org/wiki/ClipboardManager Clipboard Manager specification].
 +
 
 +
*{{term | Clipboards}} - Explanation of the consensus of the Qt and {{link|GTK+}} developers on how the X clipboard works. Standard specific to the X window system.<br>See also [http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt informal Clipboards specification].
 +
 
 +
*{{term | CMY}} - {{link|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. {{fn_ref|1}}
 +
 
 +
*{{term | CMYK}} - 
 +
*:*{{link|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 {{link|CMY}} to enhance the density of dark areas and solve gray balance problems encountered when trying to make neutral grays with {{link|CMY}} alone. {{fn_ref|1}}
 +
*:*{{link|babl|[babl]}} implementation of the CMYK color model. {{link|GEGL}} treats rendering CMYK as problem subset of rendering spot colors.
 +
*:*pronouncation: C.M.Y.K., not schmuck nor smug
 +
 
 +
*{{term | color management}} - an approach to ensure that colors look the same (or at least most similar) across various devices in a workflow. For instance it ensures that photos taken from a camera look the same at the editors screen and the printer output. If you have questions on color management, then Øyvind Kolås (IRC nick: pippin) or Elle Stone (IRC nick: elle) are the best persons to ask in the project.
 +
 
 +
*{{term | 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 {{link|color space}}. <br>Examples are {{link|CIELAB}} , {{link|RGB}} and {{link|XYZ}} .
 +
 
 +
*{{term | color space}} - a geometric representation of color in space, usually of 3 dimensions {{fn_ref|4}}. While {{link|color models}} are the theoretical background color spaces describe the set of visible or reproducable colors {{fn_ref|2}}. Practically this term is often used synonymously to {{link|color model}}. To get a visual notion of various color spaces and their relationships see [http://www.brucelindbloom.com/WorkingSpaceInfo.html#Viewer Bruce Lindblooms 3D Gamut Viewer] demo. <br>Examples are AdobeRGB, {{link|sRGB}} and Wide Gamut RGB.<br>To assign a numerical vector to a real color you need both a {{link|color model}} and a color space. As an example the numbers (0,1,0) are given. In {{link|XYZ}} {{link|color model}} with sRGB color space they represent a pure green. In {{link|XYZ}} {{link|color model}} with AdobeRGB color space you get a pure, but more saturated green. In HSB {{link|color model}}+sRGB color space these numbers represent a pure black.
 +
 
 +
*{{term | color temperature}} - formally the temperature of an ideal black body radiator whose radiation has the same {{link|chromaticity}} as that of a given stimulus. {{fn_ref|4}} Practically it's a synonym for {{link|white point}} {{fn_ref|1}}. Not to be confused with the artistic classification into warm colors (i.e. yellow, orange) and cold colors (i.e. blue). <br>Unit: K (Kelvin).
 +
 
 +
*{{term | compiler}} - a program to translate code in a programming language into executable machine code, i.e. {{link|gcc}} or {{link|Clang}}. In GIMP there's no recommended default {{link|C}} compiler. Instead the platform default will be used automatically.
 +
 
 +
*{{term | connection}} - {{link|GEGL | [GEGL]}} A link/pipe routing image flow between operations within the graph goes from an output pad to an input pad, in graph glossary this might also be referred to as an edge. {{fn_ref|14}}
 +
 
 +
*{{term | Continuous Integration}} - a method to regularly fetch the source code from the {{link|Version Control System|version control system}}, build and test the software. Developers get almost immediate feedback whether their software builds and works well. By doing this on a regular basis bugs can be detected and fixed much earlier than if testing was the last step before the release or after release on the user's side. This increases the software quality. Modern continuous integration systems use a client-server architecture: a  server does all the continuous integration jobs and users access it via a web browser (=the client). GIMP uses {{link|Jenkins}} as continuous integration server.
 +
 
 +
*{{term | Cr}} - the Red component of {{link|YCbCr}} {{link|chroma}}.
 +
 
 +
*{{term | CVS}} - a {{link|Version Control System|version control system}} the {{link|GNOME}} project had used a long time ago, before it was superseded with {{link|Subversion}}. Now we're using {{link|Git}}.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==D==
 
==D==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | D-Bus }} - Desktop Message Bus. If available, GIMP uses it to detect if another GIMP instance is already running. In the future, GIMP might make even more use of D-Bus.<br>See also [http://dbus.freedesktop.org/doc/dbus-specification.html D-Bus specification], [https://git.gnome.org/browse/gimp/tree/app/gui/dbus-service.xml GIMP's D-Bus service's interface descriptor], [http://raphael.slinckx.net/blog/documents/dbus-tutorial D-Bus tutorial].
 +
 
 +
*{{term | D50}} - a {{link|CIE}} standard {{link|illuminant}} with the spectral power distribution of daylight (which has a {{link|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 {{link|D65}} it's a bit more yellowish.
 +
 
 +
*{{term | D65}} - a {{link|CIE}} standard {{link|illuminant}} with the spectral power distribution of noon mid-latitude daylight (which has a {{link|color temperature}} of 6504 Kelvin). It's the white balance standard used for sRGB {{link|color space}} and to calibrate display screens. Compared to {{link|D50}} it's a bit more bluish.
 +
 
 +
*{{term | DAG}} - Directed Acyclic Graph. In computer science and mathematics a graph with directed edges and the attribute, that every node is reached never or only once on any path. For instance trees (as data structure) are DAGs.
 +
 +
*{{term | deprecated}} - a term from software development. Code marked as '''deprecated''' is outdated or obsolete. It and the code using it need to be replaced by {{link|refactoring|refactored}} code soon. Deprecated code often occurs as result of {{link|API}} changes.<br>Example: The code contains two functions '''do_this''' and '''do_that'''. Function '''do_that''' calls '''do_this'''. Function '''do_this''' is marked as deprecated. It soon needs to be replaced by a newer function '''do_this_better''' and '''do_that''' needs to call '''do_this_better''' instead.
 +
 
 +
*{{term | 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 [https://git.gnome.org/browse/gimp/plain/desktop/gimp.desktop.in.in .desktop file].<br>See also the [http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html detailed Desktop Entry specification].
 +
 
 +
*{{term | DND}} - Drag and Drop.
 +
 
 +
*{{term | DNG}} - Digital Negative. An image file format aiming to become a device-independent standard for storing raw data from digital cameras.<br>See also [http://www.adobe.com/products/dng/pdfs/dng_spec.pdf DNG specification].
 +
 
 +
*{{term | DOAP}} - DOAP is an {{link|XML}} schema for describing software projects. The GNOME project uses it for instance to show a short project's description at the [https://git.gnome.org/browse/ project index].<br>See also [https://github.com/edumbill/doap/ DOAP website], [https://git.gnome.org/browse/gimp/tree/gimp.doap GIMP's DOAP file].
 +
 
 +
*{{term | Docbook}} - DocBook is a general purpose {{link|XML}} schema particularly well suited to books and papers. In {{link|GIMP}} it is used for the [https://git.gnome.org/browse/gimp-help-2/tree/ user documentation] and [https://git.gnome.org/browse/gimp/tree/devel-docs/structure.xml structure of the technical documentation].<br>See also the [http://www.docbook.org/specs/ Docbook specifications].
 +
 
 +
*{{term | dpi }} - dots per inch. Measure of resolution of a device as density or frequency of points or dots which can be addressed or referred to by the device.{{fn_ref|2}} It is often confused with {{link|lpi}} and {{link|ppi}}. DPI refers to the amount of ink dots in printing. Each of these dots has a certain {{link|primary}}, for instance a {{link|CMYK}} color. Pixels of secondary colors are created by plotting many of these dots side-by-side. Thus a high DPI count isn't the same as a high PPI count. Because of technological progress in ink printing this measure is of decreasing importance.
 +
 
 +
*{{term | dynamic range}} - Measure of spread from the highest to lowest energy levels that can be captured by an imaging or recording or reproduced by a play-back device. E.g. a top-class scanning camera back can capture a range of 11 f/stops; a good film-scanner may be able to manage under 9 stops. The concept of energy levels is usually converted to densities in devices such as scanners e.g. dynamic range is '0.2 - 3.0D units'. {{fn_ref|2}}
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==E==
 
==E==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | enhancement request}} - the request for a new feature, that is not already in GIMP. An enhancement request should never be filed without prior discussion on the [https://mail.gnome.org/mailman/listinfo/gimp-developer-list gimp-developer mailing list]. This is to make sure that the enhancement requests that are filed are well-specified and aligned with the overall goals the developers have for GIMP.
 +
 
 +
*{{term | 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. <br>See also the [http://standards.freedesktop.org/wm-spec/wm-spec-latest.html Extended Window Manager Hints specification].
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==F==
 
==F==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | File URI specification}} - Specifies how URIs for normal UNIX filenames (file: URIs) are interpreted and created. This functionality is provided by {{link|GLib}}.<br>See also the [http://freedesktop.org/wiki/Specifications/file-uri-spec detailed File URI  specification].
 +
 
 +
*{{term | FTX}} - File and Time Extensions for {{link|TinyScheme}}.<br>See also [https://git.gnome.org/browse/gimp/tree/plug-ins/script-fu/ftx FTX in GIMP].
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==G==
 
==G==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | G (uppercase)}} - Green color channel in the {{link|RGB}} {{link|color model}}.
 +
 
 +
*{{term | gcc}} - a {{link|C}} {{link|compiler}}. Part of the free [http://gcc.gnu.org/ GNU Compiler Collection]. On Linux it usually ships with your distribution. On Windows it's part of [http://www.mingw.org/ MinGW]. On OS X XCode versions before 4.2 used gcc; then Apple moved to llvm-gcc and {{link|Clang}}. FreeBSD 10 deprecates gcc support in favor of {{link|Clang}}. {{fn_ref|5}} Gcc is able to cross-compile, i.e. build GIMP for Windows on a Linux machine.
 +
 
 +
*{{term | 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 {{link|babl}} it provides support for a wide range of {{link|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. <br> See also: [http://www.gegl.org GEGL website], [[#Hacking:Porting_filters_to_GEGL |  GEGL porting matrix]]
 +
 
 +
*{{term | GEGL-chant}} - A way to hide some boilerplate code in {{link|GEGL}} and to reduce code duplications defining the parameters specifications of each operation. To achieve this it makes heavy use of {{link|C}} macro definitions and the C preprocessor. It allows defining a property on one line instead of the usual {{link|GObject}} way which needs 4 or 5 different locations in the class modified for each added property. The chanted properties can contain metadata, such as valid values, upper and lower bounds and their suitability for {{link|light, perceived|nonlinear}} compuation. <br>See also the file [https://git.gnome.org/browse/gegl/tree/gegl/gegl-chant.h gegl-chant.h] and the GEGL operations using it.
 +
 
 +
*{{term | GIF}} - Graphics Interchange Format. A bitmap image 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.<br>See also: [http://www.w3.org/Graphics/GIF/spec-gif89a.txt GIF89a specification], [https://git.gnome.org/browse/gimp/tree/plug-ins/common/file-gif-load.c GIMP's GIF loader], [https://git.gnome.org/browse/gimp/tree/plug-ins/common/file-gif-save.c GIMP's GIF saver]
 +
 +
*{{term | GIMP}} - GNU Image Manipulation Program, an advanced image editor.<br>See also: [http://www.gimp.org GIMP website], [http://gui.gimp.org/index.php/GIMP_UI_Redesign#product_vision GIMP product vision].
 +
 
 +
*{{term | GIMP-Perl}} - A plug-in for GIMP allowing automation by the use of {{link|Perl}} scripts.<br> See also [http://search.cpan.org/dist/Gimp/ Distribution and technical documentation], [https://git.gnome.org/browse/gimp-perl Git repository].
 +
 
 +
*{{term | GIO}} - part of {{link|GLib}} to input and output data. It abstracts from the actual filesystem to access files in a consistent, platform-independent way.<br>See also [https://developer.gnome.org/gio/ GIO reference manual], [[#Hacking:Porting  file loaders/exporters to GIO | GIO porting matrix]].
 +
 
 +
*{{term | GIR }} - abbreviation for {{link|GObject introspection}}.
 +
 
 +
*{{term | Git}} - the {{link|Version Control System|version control system}} we use to manage the sources and documentation of {{link|babl}}, {{link|GEGL}} and {{link|GIMP}} since 16.04.2009. {{fn_ref|17}} It is a decentralized version control system, i.e. every user who has cloned a {{link|repository}} has a whole copy of it. This makes it easy to recover the repository if one server dies.{{fn_ref|16}} On the other hand you don't have to worry if you crashed your local repository - the chances to recover a working copy from the servers of the {{link|GNOME}} project or another GNOME developer are quite high. Many of us control Git by its [https://www.kernel.org/pub/software/scm/git/docs/git.html CLI commands] and [https://www.kernel.org/pub/software/scm/git/docs/gitk.html gitk], but there are also comfortable [http://git-scm.com/downloads/guis GUI clients] for it. If you have questions regarding Git usage, don't hesitate to ask - you wouldn't be the first one ;-)<br>See also [http://git-scm.com/ Git website], [http://git-scm.com/documentation Git documentation], [[Hacking:Developer_FAQ#GIT|Git in the Developer FAQ]], [https://git.gnome.org/browse/ GNOME's Git repositories].
 +
 
 +
*{{term | GLib}} - the low level core library of GNOME.<br>See also [https://developer.gnome.org/glib/ GLib reference manual].
 +
 
 +
*{{term | GNOME}} -
 +
*:* a free desktop environment for Unix-style operating systems with a GUI and software for daily use. GNOME applications can also be compiled and run on other platforms, such as Windows. GIMP is part of this desktop environment.{{fn_ref|11}}
 +
*:* The GNOME Project is a diverse international community which involves thousands of contributors, many of whom are volunteers. Aim of the GNOME project is to make the GNOME desktop environment. {{fn_ref|11}}
 +
 
 +
*{{term | GNOME HIG}}  - the {{link|HIG | Human Interface Guidelines}} for the GNOME platform. We don't follow this spec to the word but we try to adopt as much of these guidelines as makes sense. Besides them we use our own [http://gui.gimp.org/index.php/Specifications specifications].<br>See also [https://developer.gnome.org/hig-book/stable/ GNOME HIG website].
 +
 
 +
*{{term | GNU coding standards}} - A [http://www.gnu.org/prep/standards/ guide] to writing portable, robust and reliable programs. Also defines the [http://www.gnu.org/prep/standards/standards.html#Formatting GNU coding style].
 +
 
 +
*{{term | GObject}} - a library of {{link|GTK+}} to enable object-oriented programming in {{link|C}}.<br>See also [https://developer.gnome.org/gobject/stable/ GObject reference manual].
 +
 
 +
*{{term | GObject introspection}} - the implementation of object {{link|introspection}} in {{link|GLib}}. {{link|GEGL}} uses it to expose its interface to other programming languages ({{link|Perl}}, {{link|Python}}, Javascript, Vala etc.) It is planned that GIMP will do the same.<br>See the [https://wiki.gnome.org/Projects/GObjectIntrospection detailed description of GObject introspection].
 +
 
 +
*{{term | GP}} - abbreviation of {{link|GIMP-Perl}}.
 +
 
 +
*{{term | GPU computing}} - a means to utilize the computing power of graphic-cards processors for general purposes.
 +
 
 +
*{{term | gradation}} - relationship of reproduced {{link|lightness}} values to original {{link|lightness}} values in an imaging process. It is usually expressed as a 'tone curve', which is the Curves tool in GIMP. {{fn_ref|1}}
 +
 
 +
*{{term | graph}} - in computer science and mathematics a composition of nodes and edges. In {{link|GEGL | [GEGL]}} the graph is a {{link|DAG}}.{{fn_ref|14}} This means, that every operation node is reached once at most, but never two or more times.
 +
 
 +
*{{term | 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. <br> See also: [https://developers.google.com/open-source/soc/ GSoC website], [[#Hacking:GSOC  |  GIMP's GSoC participation]]
 +
 
 +
*{{term | GTK+}} - GIMP Toolkit, a multi-platform toolkit for creating graphical user interfaces.{{fn_ref|19}} It evolved out of {{link|GIMP}} and is now the foundation for the {{link|GNOME}} desktop among others.<br>See also [http://www.gtk.org GTK+ website], [http://www.gtk.org/documentation.php GTK+ documentation].
 +
 
 +
*{{term | GUI}} - graphical user interface. A form of {{link|UI}} which uses graphical symbolic representations of objects (like icons, buttons, a canvas for drawing) which are manipulated with a pointing device or keyboard.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==H==
 
==H==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | Hackordnung}} - The last section from the file [https://git.gnome.org/browse/gimp/plain/HACKING HACKING] as found in the GIMP source tree explains how the GIMP source code should be formatted.
 +
 
 +
*{{term | HIG}} - Human Interface Guidelines. Set of visual and interaction guidelines to work with a particular platform.
 +
 +
{{right | {{link|Table of Contents}}}}
  
 
==I==
 
==I==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | 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. {{fn_ref|9}}
 +
 
 +
*{{term | ICC Profiles in X specification}} - a specification for associating ICC color profiles with X screens. GIMP implements this proposed standard since version 2.4.<br>See also [http://www.burtonini.com/computing/x-icc-profiles-spec-latest.html detailed ICC Profiles in X specification]
 +
 
 +
*{{term | 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. The ICC specification is approved as international standard ISO 15076-1<br>See also [http://www.color.org/icc_specs2.xalter detailed ICC specification].
 +
 
 +
*{{term | 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. <br>See also [http://tronche.com/gui/x/icccm/ ICCCM specification].
 +
 
 +
*{{term | IDE}} - Integrated Development Environment. An integrated set of development tools, such as code editor, compiler, linker, debugger, documenter, testing tools, version control and deployment aid. Examples are [http://www.anjuta.org Anjuta], [http://www.codeblocks.org/ Code::Blocks], [http://www.eclipse.org Eclipse], [https://www.gnu.org/software/emacs/ Emacs], [http://kdevelop.org/ KDevelop] and [http://www.netbeans.org Netbeans]. We GIMP developers don't make rules about the development environment. Some of us use Emacs, Eclipse or Netbeans while others prefer simple editors ([http://www.geany.org/ Geany], [https://wiki.gnome.org/Apps/Gedit GEdit], Vi) and command line tools instead of an IDE.
 +
 
 +
*{{term | illuminance}} - measurement of the amount of light coming from a light source. Illuminance is measured in footcandles or Lux. {{fn_ref|1}}
 +
 
 +
*{{term | 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 {{link|D50}} and {{link|D65}}. For examples and calculations see [http://files.cie.co.at/204.xls CIE's selected colorimetric tables (xls)]. Illuminant A was designated to represent tungsten light and Illuminant D was designated to represent daylight. {{fn_ref|1}}
 +
*:* [coll.] any kind of light falling on a body or scene {{fn_ref|4}}.
 +
 
 +
*{{term | ILV}} - International Lighting Vocabulary. A dictionary of the {{link|CIE}} with standard definitions regarding light. {{fn_ref|4}}
 +
 
 +
*{{term | image pyramid}} - a set of images with the same content, but pre-rendered in different sizes. The aim is to increase the rendering speed while reducing aliasing artifacts and assuring continuity within and between several target images. {{fn_ref|15}}
 +
 
 +
*{{term | input pad}} - {{link|GEGL | [GEGL]}} a {{link|pad}} that consumes image data. It might also be seen as an image parameter to the {{link|operation}}. {{fn_ref|14}}
 +
 
 +
*{{term | introspection }} - a method in object oriented programming techniques to gather information about other classes at runtime. {{link|GEGL}} uses {{link|GObject introspection}} and there are plans for {{link|GIMP}} to do the same.
 +
 
 +
*{{term | ISO}} -
 +
*:*the International Organization for Standardization. An international association to develop and publish standards.{{fn_ref|12}}
 +
*:*[photo] the film speed, e.g. the sensitivity of the film grain or camera sensor to light. The higher this sensitivity, the less light is necessary to take a photo, but the photo becomes more noisy resp. grainy.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==J==
 
==J==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | Jenkins}} - GIMP's {{link | Continuous Integration}} server. The product Jenkins is open source and a widely used Continuous Integration server.<br>See also: [https://gimptest.flamingtext.com:9090/ GIMP Jenkins website], [http://jenkins-ci.org/ Jenkins project website].
 +
 +
*{{term | JNG}} - {{link|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.<br>See also [http://www.libpng.org/pub/mng/spec/jng.html specification].
 +
 
 +
*{{term | JPEG}} -
 +
*:*Joint Photographic Experts Group. A lossy compression method standardised by the {{link|ISO}}. {{fn_ref|8}}
 +
*:*An image file format and its filename extension, see {{link|JPEG JFIF}}
 +
 
 +
*{{term | JPEG JFIF}} - an image file format (usually referred to as {{link|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 [https://git.gnome.org/browse/gimp/tree/plug-ins/file-jpeg JPEG plug-in] handles this format.
 +
 
 +
*{{term | JPG}} - filename extension for {{link|JPEG JFIF}} images.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==K==
 
==K==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | K (uppercase)}} -
 +
*:*Kelvin. Unit of {{link|color temperature}} .
 +
*:*Key-color component of the {{link|CMYK}} {{link|color model}} to represent various shades of {{link|brightness}} . Usually black.
 +
 +
{{right | {{link|Table of Contents}}}}
  
 
==L==
 
==L==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | L (uppercase)}} - The axis in the {{link|CIELAB}} {{link|color model}} which denotes the {{link|lightness}} component of the color. A low numerical value on this axis denotes a dark color and a high value a light color.
 +
 
 +
*{{term | L*a*b*}} - synonym for {{link|CIELAB}}
 +
 
 +
*{{term | Lab}} - synonym for {{link|CIELAB}}
 +
 
 +
*{{term | LCMS}} - Little Color Management System. LCMS is an open-source color management engine with focus on small footprint, accuracy and performance. It uses the {{link|ICC specification}}.<br>See also [http://www.littlecms.com/ the LCMS website].
 +
 
 +
*{{term | LGM}} - Libre Graphics Meeting. Annual conference of developers and users of graphics open source software. GIMP has been participating for many years.<br>See also the [http://libregraphicsmeeting.org LGM website]
 +
 
 +
*{{term | LGW}} - Libre Graphics World. LGW is an online magazine for creatives using free applications for digital painting, graphic and web design, desktop publishing, photography and CAD. Its focus are news, tutorials and articles to provide most up to date information about evolution of these applications and best practices. One of LGW's authors is [http://prokoudine.info/ Alexandre Prokoudine] (prokoudine at IRC)<br>See also [http://libregraphicsworld.org/ LGW website].
 +
 
 +
*{{term | light, linear}} - light as it is in nature and captured by camera sensors (and thus is encoded in RAW images).
 +
 
 +
*{{term | 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).
 +
 +
*{{term | lightness}} - [COL] a number that corresponds to the human perception of reflected light from a surface (e.g. the {{link|brightness}} of a color relative to the {{link|brightness}} of a similar illuminated white area) {{fn_ref|1}} {{fn_ref|4}}.
 +
 
 +
*{{term | link, dynamically}} - the process of creating a library that is not part of the program binary, but a separate file that is loaded at runtime. This makes it easy to reuse the same library for many programs. On the other hand, many versions of the same dynamic library can lead to usage of the wrong library version at runtime (the so-called DLL hell). Dynamically loaded libraries have the file extension .dll on Windows, .so on Linux and .dylib on OS X.<br>See also [http://stackoverflow.com/questions/311882/what-do-statically-linked-and-dynamically-linked-mean Stackoverflow article: What do 'statically linked' and 'dynamically linked' mean?].
 +
 
 +
*{{term | link, statically}} - the process of creating a library that is included in the program binary and as such loaded at the same time with the program. Statically loaded libraries have the extension .lib on Windows, .a on Linux and OS X (until they get linked into the program).<br>See also [http://stackoverflow.com/questions/311882/what-do-statically-linked-and-dynamically-linked-mean Stackoverflow article: What do 'statically linked' and 'dynamically linked' mean?].
 +
 
 +
*{{term | linker}} - a program to assemble single binary artifacts (so called 'object files') to a bigger piece of software (e.g. the program or a library).
 +
 
 +
*{{term | LLVM}} - Low Level Virtual Machine. A collection of modular and reusable {{link|compiler}} and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines {{fn_ref|6}}. You can get it for Linux, Windows and FreeBSD 9 from the [http://llvm.org/releases/download.html LLVM download page]. On OS X LLVM is part of XCode 4.2 and later. LLVM's {{link|Clang}} is also the default {{link|C}} {{link|compiler}} in FreeBSD 10.
 +
 
 +
*{{term | LMS}} - a color space model that describes colors in terms of the sensitivities of the three types of cone cells in the human eye, which have overlapping sensitivities to Long, Medium, and Short wavelengths of light. When chromatically adapting a color from one light source to another to maintain color constancy, the color is converted from {{link|XYZ|XYZ}} to LMS using a {{link|chromatic adaptation model|chromatic adaptation model}} such as the {{link|Bradford transform|Bradford transform}}.
 +
 
 +
*{{term | lpi }} - lines per inch. measure of resolution or fineness of photo-mechanical reproduction.{{fn_ref|2}}
 +
 
 +
*{{term | luma}} - the weighted sum of R', G' and B' color component (=in {{link|light, perceived | perceived light}}). It is often confused with {{link|luminance}} which actually refers to {{link|light, linear | linear light}}. [http://en.wikipedia.org/wiki/Luma_%28video%29 Wikipedia article]
 +
 
 +
*{{term | luminance}} -
 +
*:*the weighted sum of R, G and B color component (=in {{link|light, linear | linear light}}) [http://en.wikipedia.org/wiki/Luma_%28video%29 Wikipedia article]
 +
*:*[COL] 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/m<sup>2</sup>) {{fn_ref|1}}.
 +
 
 +
*{{term | luminance, relative}} - {{link|luminance}} with numerical values normalized to 1...100 (100=reference white), see [http://en.wikipedia.org/wiki/Luminance_%28relative%29 Wikipedia].
 +
 
 +
*{{term | LUT}} - Look-Up Table. A key-value-table, which is queried with a key and returns the assigned value. Synonyms are map or dictionary. It's a convenient way to get the results of a time-consuming or stochastic function quickly. The downside is that it potentially uses more memory than a computation.
 +
 
 +
*{{term | LUT profile}} - a color profile which internally uses a {{link|LUT}} to assign output color values to input color values. LUT profiles have a black and white point. For instance printer profiles are mostly LUT profiles. {{fn_ref|22}}
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==M==
 
==M==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | M (uppercase)}} - Magenta color component of the {{link|CMY}} and {{link|CMYK}} {{link|color model|color models}}.
 +
 
 +
*{{term | make}} - a programming tool to control the generation of executables and other non-source files of a program from the program's source files. {{fn_ref|13}}<br>See also [http://www.gnu.org/software/make/ GNU make website].
 +
 
 +
*{{term | Makefile}} - a text file to control {{link|make}}. It contains all the {{link|make target|make targets}}. In GIMP this file is generated from the Makefile.am file by the {{link|Autotools}}.
 +
 
 +
*{{term | make target}} - a {{link|CLI}} set of commands for {{link|make}} to trigger various actions, e.g. compiling a program from the sources.
 +
 
 +
*{{term | metadata}} - Information about a file, i.e. author, title, date and time of creation.<br>See also [http://www.metadataworkinggroup.org/ website of the Metadata Working Group].
 +
 
 +
*{{term | meta operation}} - {{link|GEGL | [GEGL]}} a composite {{link|operation}}, i.e. an operation that consists of other operations.
 +
 
 +
*{{term | mipmap}} - synonym for {{link|image pyramid}}.
 +
 
 +
*{{term | Mired}} - former, obsolete unit of reciprocal {{link|color temperature}} .
 +
 
 +
*{{term | MNG}} - Multiple-image Network Graphics. An image file format. In GIMP the [https://git.gnome.org/browse/gimp/tree/plug-ins/common/file-mng.c MNG plug-in] handles this format.<br>See also [http://www.libpng.org/pub/mng/spec/ MNG specification].
 +
 
 +
*{{term | module}} - a part of GIMP providing optional functionality, such as input controllers, color selectors and display filters. Each module can be activated and deactivated in GIMP's Module manager; the changes apply at GIMPs next start. Technically a module is tightly integrated with the GIMP core. It is a shared object that runs in the GIMP process.<br>See also [https://git.gnome.org/browse/gimp/tree/modules GIMP's modules], {{link|plug-in}}.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==N==
 
==N==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | node}} - an element of a {{link|graph}}. In {{link|GEGL}} a node has an associated {{link|operation}} or can be a constructed {{link|graph}}. {{fn_ref|14}}
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==O==
 
==O==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | OpenCL}} - open standard for parallel programming of heterogeneous systems, i.e. using additional CPU processors or {{link|GPU computing}}. OpenCL requires a driver from the manufacturer of the CPU or GPU. {{link|GEGL}} uses OpenCL to improve its own performance.<br>See also [http://www.khronos.org/opencl/ OpenCL website], [[#Hacking:Porting_filters_to_GEGL |  GEGL porting matrix]].
 +
 
 +
*{{term | OpenICC}} - a open source software project with two main goals. The first goal is to work out a common set of settings for color savvy applications to share profiles and settings. The second goal is to bring together those developers in areas like printing, display and desktop applications to work together to make {{link|color management}} end to end work for open source applications.{{fn_ref|21}}<br>See also: [http://freedesktop.org/wiki/OpenIcc/ website]
 +
 
 +
*{{term | operation}} - {{link|GEGL | [GEGL]}}The processing primitive of GEGL, it is where the actual image processing takes place. Operations are plug-ins and provide the actual functionality of GEGL  {{fn_ref|14}}
 +
 
 +
*{{term | out-of-tree-build}} - synonym for {{link|VPATH build}}
 +
 
 +
*{{term | output pad}} - {{link|GEGL | [GEGL]}} a {{link|pad}} where data can be requested, multiple {{link|input pad|input pads}} can reference the same output pad. {{fn_ref|14}}
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==P==
 
==P==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | pad}} - {{link|GEGL | [GEGL]}} The part of a {{link|node}} that exchanges image content. The place where image "pipes" are used to connect the various operations in the composition. {{fn_ref|14}}<br>See also {{link|input pad}}, {{link|output pad}}.
 +
 
 +
*{{term | PCS}} - Profile Connection Space. The reference {{link|color space}} to convert from one ICC profile to another. Its purpose is to exchange color information across various devices. Usual PCS's are {{link|CIELAB|LAB}} and {{link|XYZ}}. The image editing RGB color spaces like {{link|sRGB}} use XYZ.
 +
 
 +
*{{term | 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.<br>See also [https://git.gnome.org/browse/gimp/tree/app/pdb PDB source code].
 +
 
 +
*{{term | Perl}} - a programming language. Perl programs are interpreted. The filename extension is .pl. GIMP itself uses it to generate {{link|PDB}} interfaces from plug-ins, see the Perl files in [https://git.gnome.org/browse/gimp/tree/plug-ins/common /plug-ins/common] and [https://git.gnome.org/browse/gimp/tree/tools/pdbgen /tools/pdbgen]. Aside from that there's {{link|GIMP-Perl}}, which is a separate GIMP plug-in.<br>See also [http://www.perl.org/ Perl website].
 +
 
 +
*{{term | plug-in}} - an optional part of GEGL and GIMP, providing extra functionality, like filters and file loaders/savers. GIMP plug-ins are programmed in {{link|C}} or {{link|Python}}. Plugins are limited mostly to accessing image data.
 +
:The difference to {{link|script|scripts}} is not functional, but only technical. In fact, GIMP's {{link|Script-Fu}} interpreter is a plug-in.
 +
:The difference to {{link|module|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.<br>See also [https://git.gnome.org/browse/gimp/tree/plug-ins GIMP's plug-ins], [http://registry.gimp.org/ GIMP plug-in registry]
 +
 
 +
*{{term | PNG}} - Portable Network Graphics. A bitmap image file format. In GIMP the [https://git.gnome.org/browse/gimp/tree/plug-ins/common/file-png.c PNG plug-in] handles this format. GIMP also reads patterns in the PNG file format and it stores thumbnails as PNG images.<br>See also [http://www.w3.org/TR/PNG/ PNG specification].
 +
 
 +
*{{term | ppi}} - points per inch; pixels per inch: Measure of input resolution e.g. of scanning device, measured as the number of points on the object at which a sample or measure is taken or which are resolved by the device per linear inch on a given axis: e.g. 600ppi means six hundred points per inch, usually along the axis of the scanner sensor. {{fn_ref|2}} Increasing the PPI count increases the image quality up to a certain degree: whether an image is perceived as fine or coarse granular also depends on the sensitivity of the human eye and the distance between eye and image. Image quality also depends on the contrast and the smoothness of the tonal values.<br>See also {{link|dpi}}, {{link|lpi}}.
 +
 
 +
* {{term | PS}} - Adobe Photoshop, a widely used, high-end image manipulation application in the commercial sector. Photoshop is available for Windows and OS X computers. Modified variants, such as Photoshop Express and Photoshop Touch, are available for mobile devices. Note that - although GIMP is often seen as Photoshop competitor - GIMP is not a for-free-Photoshop copy {{fn_ref|23}}.
 +
 
 +
*{{term | PSB}} - Photoshop Big. Adobe Photoshop's native file format for large documents with up to 300.000 Pixels in any dimension, otherwise identically to {{link|PSD}}. GIMP currently doesn't support PSB.
 +
 
 +
*{{term | PSD}} - Photoshop Document. Adobe Photoshop's native file format for images with up to 30.000 Pixels in any dimension. GIMP has basic support reading and writing PSD files. Advanced PS features with no equivalent in GIMP such as adjustment layers and layer effects are currently not supported.<br>See also [https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/ PSD specification].
 +
 
 +
*{{term | primary}} - abbreviation for primary color, e.g. one of the colors in a {{link|color model}} of which all other colors are mixed from. In {{link|RGB}} these are Red, Green and Blue while in {{link|CMY}} these are Cyan, Magenta and Yellow.
 +
 
 +
*{{term | property}} -  {{link|GEGL | [GEGL]}} an attribute that controls the behavior of an {{link|operation}}. Through the use of [https://developer.gnome.org/gobject/unstable/gobject-GParamSpec.html GParamSpecs] properties are self documenting via introspection.  {{fn_ref|14}}
 +
 
 +
*{{term | Python}} - a programming language. Python programs are usually interpreted. GIMP uses Python for [https://git.gnome.org/browse/gimp/tree/plug-ins/pygimp/plug-ins plug-ins], [https://git.gnome.org/browse/gimp/tree/plug-ins/script-fu/servertest.py the test driver for the Script-Fu server] and [https://git.gnome.org/browse/gimp/tree/tools some tools].<br>See also [http://python.org/ Python website].
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==Q==
 
==Q==
{{right|[[#Table of Contents|Table of Contents]]}}
+
{{term | QA}} - Quality Assurance. Actions to ensure quality during production. For software products these include for instance involvement of users and other relevant stakeholders, proper design of interactional and technical architectures, obeying coding standards, reviews and tests.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==R==
 
==R==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | R (uppercase)}} - Red color channel in the {{link|RGB}} {{link|color model}}.
 +
 
 +
*{{term | RaGaBaA}}-  {{link|babl | [babl]}} a {{link|color model}} with the {{link|alpha}} premultiplied channels {{link|R (uppercase | R}},{{link|G (uppercase) | G}},{{link|B (uppercase) | B}} and {{link|alpha}}. It operates in {{link|light, linear | linear light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-rgb.c source code]
 +
 
 +
*{{term | R'aG'aB'aA}}- {{link|babl | [babl]}} a {{link|color model}} with the {{link|alpha}} premultiplied channels {{link|R (uppercase | R}},{{link|G (uppercase) | G}},{{link|B (uppercase) | B}} and {{link|alpha}}. It operates in {{link|light, perceived | perceived light}}.
 +
 
 +
*{{term | Recent File Storage Specification}} - Provides a standard mechanism for storing a list of recently used files. Supported since GIMP version 2.1.6.<br>See also [http://standards.freedesktop.org/recent-file-spec/recent-file-spec-latest.html detailed Recent File Storage specification].
 +
 
 +
*{{term | refactoring}} - to improve a small piece of code without neither changing its results nor introducing side effects.<br>See also: [http://refactoring.com/ Martin Fowlers website on refactoring]  
 +
 
 +
*{{term | repository}} - the database in a {{link|Version Control System|version control system}} that contains all the file history.
 +
 
 +
*{{term | resolution}} (from {{fn_ref|2}}) -
 +
*:* For input devices e.g. cameras, scanners: measure of the ability of a system to reproduce details present in a subject so that they are in the image. Measure of highest spatial frequency which can be recorded by the system.<br>Units: total number of usable pixels for digital cameras; {{link|ppi}} for scanners; line pairs per millimetre for objectives (not to be confused with {{link|lpi}}!).
 +
*:* For output devices e.g. printers, film-writers: measure of system's ability to address or refer to separate points or lines of output.<br>Unit: {{link|dpi}}.
 +
*:* Measure of system's ability to distinguish variations in colors or of density.<br>Unit: bit depth (total number of bits available for encoding values).
 +
*:* For positioning or focusing mechanisms: the minimum repeatable adjustment increment achievable.
 +
 
 +
*{{term | RGB}} - generally and in {{link|babl}} a {{link|color model}} with the channels {{link|R (uppercase | R}},{{link|G (uppercase) | G}},{{link|B (uppercase) | B}}. It operates in {{link|light, linear | linear light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-rgb.c source code]
 +
 
 +
*{{term | R'G'B'}} - {{link|babl | [babl]}} a {{link|color model}} with the channels {{link|R (uppercase | R}},{{link|G (uppercase) | G}},{{link|B (uppercase) | B}}. It operates in {{link|light, perceived | perceived light}} with an sRGB {{link|TRC}} which is roughly perceptually uniform.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-rgb.c source code]
 +
 
 +
*{{term | RGBA}} - generally and in {{link|babl}} a {{link|color model}} with the channels {{link|R (uppercase | R}},{{link|G (uppercase) | G}},{{link|B (uppercase) | B}} and {{link|alpha}}. It operates in {{link|light, linear | linear light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/babl-core.c source code]
 +
 
 +
*{{term | R'G'B'A}} - {{link|babl | [babl]}} a {{link|color model}} with the channels {{link|R (uppercase | R}},{{link|G (uppercase) | G}},{{link|B (uppercase) | B}} and {{link|alpha}}. It operates in {{link|light, perceived | perceived light}} with an sRGB {{link|TRC}} which is roughly perceptually uniform.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-rgb.c source code]
 +
 
 +
*{{term | ROI}} -  {{link|GEGL | [GEGL]}} - region of interest. It's the area you're currently working on in your GEGL operation.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==S==
 
==S==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | saturation}} - colorfulness of an area judged in proportion to its {{link|brightness}} {{fn_ref|4}}<br>See also: {{link|chroma}}
 +
 
 +
*{{term | Scheme }} - a programming language. The current standard version is R6RS, while the {{link|TinyScheme}}, the version in GIMP implements a subset of the older version R5RS. The coming standard R7RS is [http://scheme-reports.org/ work in progress].<br>See also [http://people.csail.mit.edu/jaffer/r5rs_toc.html Scheme R5RS language description].
 +
 
 +
*{{term | scRGB }} - an extended {{link|RGB}} {{link|color space}}. In {{link|GEGL}} most operations work in scRGB using 32bit floating point/HDR {{link|light, linear|linear light}} {{link|RGBA}}.{{fn_ref|18}}<br>See also [http://webstore.iec.ch/webstore/webstore.nsf/artnum/029678 scRGB specification (charged)], [http://www.color.org/chardata/rgb/scrgb.xalter short overview at ICC], [http://en.wikipedia.org/wiki/ScRGB_color_space Wikipedia:scRGB].
 +
 
 +
*{{term | script}} - a little program in {{link|Script-Fu}}. Scripts add optional extra functionality to GIMP. They have the filename extension .scm. <br>See also [https://git.gnome.org/browse/gimp/tree/plug-ins/script-fu/scripts GIMP's scripts], {{link|plug-in|distinction to plug-ins}}, [http://registry.gimp.org/ GIMP plug-in registry].
 +
 
 +
*{{term | Script-Fu}} - a {{link|Scheme}} dialect. Developers can use Script-Fu for writing user-defined extensions. GIMP then interprets them using {{link|TinyScheme}} and {{link|FTX}}.<br>See also [https://git.gnome.org/browse/gimp/tree/plug-ins/script-fu/scripts GIMP's Script-Fu scripts], [http://www.gimp.org/docs/scheme_plugin/ Script-Fu tutorial].
 +
 
 +
*{{term | 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.<br>See also [http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html Shared MIME Database specification].
 +
 
 +
*{{term | sRGB}} - the default {{link|color space}} for the internet and other interested vendors.<br>See also [http://www.w3.org/Graphics/Color/sRGB detailed description at W3C].
 +
 
 +
*{{term | Startup Notification}} - Specifies a mechanism allowing a desktop environment to track application startup to provide user feedback. {{link|GTK+}} provides support for this protocol. <br>See also [http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt Startup Notification specification].
 +
 
 +
*{{term | Subversion}} -  a {{link|Version Control System|version control system}} the {{link|GNOME}} project used before it was superseded with {{link|Git}} in 2009.
 +
 
 +
*{{term | 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 [http://www.inkscape.org Inkscape] for instance.<br>See also [http://www.w3.org/TR/SVG/ W3C recommendation]
 +
 
 +
*{{term | SVN}} - abbreviation for {{link|Subversion}}.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==T==
 
==T==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | 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  implements this standard and dropped support for the old-fashioned .xvpics. <br>See also [http://web.archive.org/web/20110818223906/http://jens.triq.net/thumbnail-spec/ Thumbnail Managing Standard specification].
 +
 
 +
*{{term | TIFF 6.0}} - Tagged Image File Format.<br> See also [http://partners.adobe.com/public/developer/tiff/ TIFF specification and other developer resources], [http://www.awaresystems.be/imaging/tiff.html Unofficial TIFF home page].
 +
 
 +
*{{term | tile}} - {{link|GEGL | [GEGL]}} Functionally a rectangular part of an {{link|operation|operation's}} input, intermediate or output data. Technically tiles are internal implementation parts of GEGL buffers, i.e. not exposed in the GEGL buffer {{link|API|APIs}}. {{fn_ref|14}}
 +
 
 +
*{{term | tile backend}} - {{link|GEGL | [GEGL]}} the implementation of pixel storage for a GeglBuffer (synonymous to a file system driver in an operating system). There are backends storing each tile as separate files, all tiles of a buffer in a file, communicate over gimps wire-protocol for plug-ins to operate on GeglBuffers where the tiles are stored in the main {{link|GIMP}} process. Other possible tile backends could communicate over the network to fetch spatial tiles from map providers (OpenStreetMap etc.)
 +
 
 +
*{{term | TinyScheme}} - a lightweight {{link|Scheme}} interpreter that implements a subset of the [http://people.csail.mit.edu/jaffer/r5rs_toc.html R5RS Scheme standard]. GIMP uses it to interpret  {{link|Script-Fu}}. One of its maintainers is Kevin Cozens (kevin in IRC)<br>See also [http://tinyscheme.sourceforge.net/home.html TinyScheme website], [https://git.gnome.org/browse/gimp/tree/plug-ins/script-fu/tinyscheme TinyScheme in GIMP].
 +
 
 +
*{{term | TRC}} - Tone Response Curve. A curve describing the signal response of the eye or an sensor to changes in {{link|light, linear | linear light}} and as such the foundation for {{link|light, perceived | perceived light}}.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==U==
 
==U==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | UI}} - user interface. The part of the program the user interacts with.<br>See also: {{link|CLI}}, {{link|GUI}}.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==V==
 
==V==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | Value}} -
 +
*:* Level of {{link|brightness}} of a pixel or color as defined in HSV {{link|color model}}. {{fn_ref|2}}
 +
*:* Designation of {{link|lightness}} of color in the Munsell system of color nomenclature. {{fn_ref|2}}
 +
*:* Tone or {{link|brightness}} of a color as assessed subjectively: high values give light colors, low value colors appear dark.{{fn_ref|2}}
 +
*:* [photo] in the Zone System the step or zone which corresponds to a certain range of subject {{link|brightness}}. {{fn_ref|2}}
 +
*:* [photo] Camera setting or range of settings based on scales of shutter time, lens aperture, exposure value, {{link|luminance}} and film speed. {{fn_ref|2}}
 +
 
 +
*{{term | VCS}} - abbreviation of {{link|Version Control System}}.
 +
 
 +
*{{term | Version Control System}} - a software system that records all changes to arbitrary files and file sets over time. It's allows you to recall specific versions later, compare versions, review changes made over time, find out who last modified something or which change introduced a bug, revert changes etc.{{fn_ref|16}} We use {{link|Git}} for managing the {{link|babl}}, {{link|GEGL}} and {{link|GIMP}} source code and documentation.
 +
 
 +
*{{term | VPATH build}} - an {{link|Autotools}} build outside the source directory. Example: given the sources are in $HOME/src, then the compiled files could for instance be in $HOME/build. <br> See also [http://www.gnu.org/software/automake/manual/html_node/VPATH-Builds.html VPATH Builds in the Automake documentation]
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==W==
 
==W==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | 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 {{link | SVG 1.1}}, {{link|XML}} and {{link|XSL}}. {{fn_ref|10}}
 +
 
 +
*{{term | wgo}} - GIMP's main website [http://www.gimp.org www.gimp.org].
 +
 
 +
* {{term | Wilber}} -
 +
*:* The nick name of the IRC chatbot.<br>See also: [http://supybook.fealdia.org/devel/ Supybook Supybot command reference].
 +
*:* GIMP's mascot.
 +
:[[File:Wilber.png|Wilber, the GIMP mascot]]
 +
 
 +
*{{term | white point}} - the light-source's or sensor's interpretation of white. Practically it's a synonym for {{link|color temperature}}.<br>See also [http://eilv.cie.co.at/term/1430 CIE's definition], [http://www.colorwiki.com/wiki/White_Point ColorWiki].
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==X==
 
==X==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | XCF}} - eXperimental Computing Facility, the origin of GIMP.
 +
*:*GIMP's file format.<br>See also [https://git.gnome.org/browse/gimp/tree/devel-docs/xcf.txt GIMP's XCF specification draft], [https://git.gnome.org/browse/gimp/tree/app/xcf source code].
 +
*:*Cinepaint's derivative of GIMP's XCF file format. Both are incompatible.{{fn_ref|20}}<br>See also [http://www.cinepaint.org/more/docs/xcf.html Cinepaint's XCF specification and differences to GIMP]
 +
 
 +
*{{term | XDND}} - Drag-and-Drop Protocol for the X Window System. XDND defines a standard for drag and drop on X11. It is implemented by {{link|GTK+}}. <br>See also [http://freedesktop.org/Standards/XDND XDND specification].
 +
 
 +
*{{term | XDS}} - Direct Save Protocol for the X Window System. XDS defines an extension to {{link|XDND}} that allow users to save a file by simply dragging it to a file manager window. GIMP supports this protocol since version 2.4.<br>See also [http://web.archive.org/web/20060924165119/http://freedesktop.org/wiki/Standards_2fdirect_2dsave XDS specification].
 +
 
 +
*{{term | XML}} - Extensible Markup Language. Describes the markup language used to store the [https://git.gnome.org/browse/gimp/tree/menus menu layout], the [https://git.gnome.org/browse/gimp/tree/data/tips/gimp-tips.xml.in startup tips], {{link|Docbook}} documents and other.<br>See also [http://www.w3.org/XML/ XML overview page at W3C], written by Liam Quin (Ankh in IRC)
 +
 
 +
*{{term | XMP}} - Extensible Metadata Platform. A labeling technology that allows to store {{link|metadata}}. This information is either embedded in the file itself or as separate file (a so-called XMP sidecar file).<br>See also [http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP specification], [http://www.adobe.com/products/xmp/index.html XMP description at Adobe]
 +
 
 +
*{{term | 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. {{link|GTK+}} hides this from us.<br>See also [http://standards.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html XSETTINGS specification].
 +
 
 +
*{{term | XSL}} - Extensible Stylesheet Language Family. XSL is a family of recommendations for defining XML document transformation and presentation. It consists of the parts {{link|XSLT}}, {{link|XML}} Path Language (XPath) and XSL Formatting Objects (XSL-FO).<br>See also: [http://www.w3.org/Style/XSL/ XSL website at W3C].
 +
 
 +
*{{term | XSLT}} - {{link|XSL Transformations}}, a language for transforming {{link|XML}} documents into other formats, such as HTML, program code or plain text. GIMP uses XSLT to generate [https://git.gnome.org/browse/gimp/tree/menus/menus.xsl menus], [https://git.gnome.org/browse/gimp/tree/data/tips/fortunes.xsl startup tips] and [https://git.gnome.org/browse/gimp/tree/authors.xsl author attribution].<br>See also [http://www.w3.org/TR/xslt W3C recommendation].
 +
 
 +
*{{term | XYZ}} - {{link|color model}}, based on experimental observations on humans (the '{{link|CIE}} standard observer'). It operates in {{link|light, linear | linear light}}.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==Y==
 
==Y==
{{right|[[#Table of Contents|Table of Contents]]}}
+
*{{term | Y (uppercase)}} -
 +
*:*Yellow color component of the {{link|CMY}} and {{link|CMYK}} {{link|color model|color models}}.
 +
*:*{{link|babl | [babl]}}: grayscale {{link|color model}} or {{link|lightness}} component in a {{link|color model}}. It's in {{link|light, linear|linear light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-gray.c source code]
 +
*:*{{link|luminance, relative | relative luminance}} in {{link|XYZ}} {{link|color model}}.
 +
*:*{{link|luminance}} in xyY {{link|color model}}.
 +
 
 +
*{{term | Y' (uppercase)}} - *:*{{link|babl | [babl]}}: grayscale {{link|color model}} or {{link|lightness}} component in a {{link|color model}}. It's in {{link|light, perceived|perceived light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-gray.c source code]
 +
 
 +
*{{term | YA}} - {{link|babl|[babl]}} a  {{link|color model}} with the components {{link|Y (uppercase)|Y}} and {{link|A (uppercase)|A}}, e.g. grayscale and alpha. It operates in {{link|light, linear|linear light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-gray.c source code]
 +
 
 +
*{{term | YaA}} - {{link|babl|[babl]}} a  {{link|color model}} with the components alpha-premultiplied {{link|Y (uppercase)|Y}} and {{link|A (uppercase)|A}}, e.g. grayscale and alpha. It operates in {{link|light, linear|linear light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-gray.c source code]
 +
 
 +
*{{term | Y'A}} - {{link|babl|[babl]}} a  {{link|color model}} with the components {{link|Y' (uppercase)|Y'}} and {{link|A (uppercase)|A}}, e.g. grayscale and alpha. It operates in  {{link|light, perceived|perceived light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-gray.c source code]
 +
 
 +
*{{term | Y'aA}} - {{link|babl|[babl]}} a  {{link|color model}} with the components alpha-premultiplied {{link|Y' (uppercase)|Y'}} and {{link|A (uppercase)|A}}, e.g. grayscale and alpha. It operates in  {{link|light, perceived|perceived light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-gray.c source code]
 +
 
 +
*{{term | YCbCr}} - a  {{link|color model}} with the components {{link|Y (uppercase)|Y}} {{link|luma|(luminance)}},  {{link|Cb}} and {{link|Cr}}. Unlike RGB it encodes the image information in luminance (channel Y) and chrominance (channels Cb and Cr). YCbCr operates in  {{link|light, linear|linear light}}. It is used for digital video and has good image compression capabilities.
 +
 
 +
*{{term | Y'CbCr}} -
 +
*:*a  {{link|color model}} with the components {{link|Y' (uppercase)|Y'}} {{link|luma|(luma)}},  {{link|Cb}} and {{link|Cr}}. It operates in  {{link|light, perceived|perceived light}}. It is used for digital video and has good image compression capabilities.
 +
*:*{{link|babl|[babl]}} implementation of the Y'CbCr color model.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-ycbcr.c source code]
 +
 
 +
*{{term | Y'CbCrA}} - {{link|babl|[babl]}} {{link|color model}} with the components {{link|Y' (uppercase)|Y'}} {{link|luma|(luma)}}, {{link|Cb}}, {{link|Cr}} and {{link|A (uppercase)|A}}. It operates in  {{link|light, perceived|perceived light}}.<br>See also [https://git.gnome.org/browse/babl/tree/babl/base/model-ycbcr.c source code]
 +
 
 +
*{{term | YCC}} - abbreviation of {{link|YCbCr}}.
 +
 
 +
*{{term | YIQ}} - {{link|color model}} which separates {{link|luminance}} (Y component) from {{link|chroma}} (I, Q components). It is used for analog TV (NTSC in the U.S.) and thus irrelevant for digital image editing.
 +
 
 +
*{{term | YPbPr}} - the analog equivalent to {{link|YCbCr}} and thus irrelevant for digital image editing.
 +
 
 +
*{{term | YUV}} - {{link|color model}} which separates {{link|luminance}} (Y component) from {{link|chroma}} (U, V components). It is used for analog TV (PAL in Europe) and thus irrelevant for digital image editing.
 +
 
 +
{{right | {{link|Table of Contents}}}}
  
 
==Z==
 
==Z==
{{right|[[#Table of Contents|Table of Contents]]}}
+
{{right | {{link|Table of Contents}}}}
  
 
==References==
 
==References==
{{references}}
+
<!--
{{right|[[#Table of Contents|Table of Contents]]}}
+
Inserting URLs with '=' or other special characters requires escaping them.
 +
See http://de.wikipedia.org/wiki/Hilfe:Vorlagen#Problem:_Sonderzeichen_in_Parameterwerten
 +
-->
 +
 
 +
<ol>
 +
{{fn|1|[http://www.colorwiki.com/wiki/Category:Glossary CHROMiX ColorWiki]}}
 +
{{fn|2|[http://www.idigitalphoto.com/dictionary/ idigitalphoto Photography Dictionary]}}
 +
{{fn|3|[http://en.wikipedia.org/wiki/HSL_and_HSV Wikipedia:HSL and HSV]}}
 +
{{fn|4|CIE: [http://eilv.cie.co.at/ e-ILV: International Lighting Vocabulary]}}
 +
{{fn|5|Michael Larabel: [http://www.phoronix.com/scan.php?page&#61;news_item&px&#61;MTEwMjI FreeBSD 10 To Use Clang Compiler, Deprecate GCC]}}
 +
{{fn|6|[http://www.llvm.org LLVM website]}}
 +
{{fn|7|Clang Team: [http://clang.llvm.org/docs/CrossCompilation.html Cross-compilation using Clang]}}
 +
{{fn|8|W3C, Chris Lilley: [http://www.w3.org/Graphics/JPEG/ JPEG JFIF]}}
 +
{{fn|9|ICC: [http://www.color.org/abouticc.xalter About ICC]}}
 +
{{fn|10|[http://wwww.w3.org W3C website]}}
 +
{{fn|11|[http://www.gnome.org GNOME website]}}
 +
{{fn|12|[http://www.iso.org ISO website]}}
 +
{{fn|13|[http://www.gnu.org/software/make/ GNU Make website]}}
 +
{{fn|14|[http://gegl.org/#_glossary GEGL glossary]}}
 +
{{fn|15|Lance, Williams: [http://staff.cs.psu.ac.th/iew/cs344-481/p1-williams.pdf Pyramidal parametrics], Computer Graphics 7.3 (1983): 1-11.}}
 +
{{fn|16|Scott Chacon: [http://git-scm.com/book/en/Getting-Started-About-Version-Control Getting Started About Version Control], licensed under [http://creativecommons.org/licenses/by-nc-sa/3.0/ CC BY-NC-SA 3.0]}}
 +
{{fn|17|Lucas Rocha, [https://mail.gnome.org/archives/devel-announce-list/2009-March/msg00005.html Announcement at GNOME's devel-announce-list], 19.03.2009}}
 +
{{fn|18|[http://www.gegl.org GEGL website]}}
 +
{{fn|19|[http://www.gtk.org GTK+ website]}}
 +
{{fn|20|[http://www.linuxdevcenter.com/pub/a/linux/2004/04/29/cinepaint.html?page&#61;2 Linux Devcenter: Developer interview: Robin Rowe and Andrew Prock on Cinepaint]}}
 +
{{fn|21|[http://freedesktop.org/wiki/OpenIcc/ OpenICC website]}}
 +
{{fn|22|Stone, Elle: [http://ninedegreesbelow.com/photography/xyz-rgb.html Completely Painless Programmer's Guide to XYZ, RGB, ICC, xyY, and TRCs ]}}
 +
{{fn|23|The GIMP team: [http://gui.gimp.org/index.php/GIMP_UI_Redesign#product_vision Produkt vision]}}
 +
</ol>
 +
{{right | {{link|Table of Contents}}}}
 +
 
 +
==Trademarks==
 +
Adobe, Photoshop, Photoshop Express and Photoshop Touch are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Apple and OS X are trademarks of Apple Computer, Inc. registered in the United States and other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. All other products are the property of their respective owners.
 +
 
 +
{{right | {{link|Table of Contents}}}}

Latest revision as of 18:05, 1 January 2016

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.


Report a bug


Table of Contents

Legend

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

Trademarks


Legend

[babl] specific to babl
[COL] colorimetry
[coll.] colloquial
[GEGL] specific to GEGL
[GIMP] specific to GIMP
[photo] photography


A

  • a (lowercase) - [babl] denotes a color channel to be premultiplied with alpha, for instance RaGaBa is premultiplied alpha RGB
  • a* (lowercase) - The axis in the CIELAB color model which denotes the green-magenta component of the color. A negative value on this axis denotes green and a positive value denotes magenta.
  • abyss - [GEGL] data from outside the input buffer.
  • abyss policy - [GEGL] the behaviour rule to handle abyss data: to clamp to the border, loop in the buffer extent, or implement a more intelligent algorithm. For instance see the Ripple operation. Setting the abyss policy to GEGL_ABYSS_LOOP adds the tileability to the operation for free.
  • alpha - opacity. An alpha value of 0 means 'transparent', an alpha value of 100 means 'fully opaque', values in between mean 'partly opaque'.
  • API - Application Programmers Interface. The technical interface of a library to external developers who are intended use it. It defines the provided services, their semantic and syntax. On implementation level these are the public data types, enumerators and functions with their signatures.
    See also: GEGL API , GEGL operation API, GIMP API.
  • ArgyllCMS - an open source color management system for profiling input devices (scanner, camera, etc) and calibrating and profiling output devices (printer, monitor, etc), plus a suite of command line utilities for exploring, linking, and converting between ICC profiles.
    See also the ArgyllCMS website.
  • Autohell - [coll.] synonym for Autotools, because they are practically hard to figure out.
  • Autotools - the GNU build system. They check the current configuration to ensure all dependencies are in place, generate the Makefiles and execute them to do several tasks like compiling, installing and testing a program.
    See also the GNU Autotools website.

B

  • b* (lowercase) - the axis in the CIELAB color model which denotes the blue-yellow component of the color. A negative value on this axis denotes blue and a positive value denotes yellow.
  • B (uppercase) -
    • Blue color channel in the RGB color model.
    • brightness component of the HSB color model.
    • [photo] symbol for brightness: obsolete, but may be found on older light meters. [2]
    • [photo] Bulb: 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]
  • babl - a dynamic, any to any, pixel format translation library.
    See also: babl website
  • backend - generally the internal part of a library that implements its public API. In GEGL this could for instance be computing an operation, storing tiles and memory management.
  • black point - the light-source's (e.g. a monitor) or sensor's interpretation of black.
  • Bradford transform - a matrix used to convert XYZ colors to the LMS color space when chromatically adapting a color in order to maintain constant color appearance under different light sources. The Bradford transform is recommended by the ICC and used by ArgyllCMS and LCMS when making ICC D50-adapted RGB profiles from color spaces such as the sRGB D65 color space.
  • 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]
  • bug - an error in a program, e.g. an existing feature doesn't work as specified or usually expected. Requests for new features are not bugs, but enhancement requests.
  • Bugzilla - the GIMP project uses Bugzilla of the GNOME project, a bugtracker that allows us to coordinate bug reports. Bugzilla is also used for enhancement requests and the preferred way to submit patches for GIMP is to open a bug report and attach the patch to it.
    See also: Bugzilla website, Reporting bugs in GIMP.
  • build -
    • (verb) - the process of compiling and linking a software from its sourcecode.
    • (noun) - the result of the build process, i.e. a binary or archive, distributable file.

C

  • 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.
  • chromatic adaptation -
    • (in everyday experience) - the process by which our eyes automatically adapt to light from different light sources so that color appearance remains constant. As the color temperature of the ambient light changes, the respective sensitivities of the Long, Medium, and Short cone cells in the eyes also change. Without chromatic adaptation a white object might look blue in the shade, white in the sun, and yellow by candlelight, and a red object might look purple-red in the shade, red in the sun, and orange-red by candlelight.
    • (mathematically) - the process of using a chromatic adaptation model to convert RGB colors as perceived under one light source to the equivalent colors as perceived under a different light source, to maintain constant color appearance under both light sources. Proposed models include XYZ, Von Kries, Bradford, and Sharp.
  • chromatic adaptation model - a mathematical transform from the XYZ color space to the LMS color space. A chromatic adaptation model is used to calculate the equivalent XYZ colors required to maintain constant color appearance under different light sources.
  • chromaticity - The color properties of a sample judged independently of luminance, i.e. in terms of hue and saturation only. [1]
  • 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]
  • CIE 1976 L*a*b* - synonym of CIELAB
  • 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].
  • CLI - command line interface. A form of UI where the user interacts with the program by entering textual commands. This can e.g. be the set of commandline arguments that are passed to the the program on startup, or a commandline in the GUI to enter textual commands. You can get the set of GIMP's commandline arguments by entering gimp --help at the systems shell.
  • 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 Clipboard Manager 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. GEGL treats rendering CMYK as problem subset of rendering spot colors.
    • pronouncation: C.M.Y.K., not schmuck nor smug
  • color management - an approach to ensure that colors look the same (or at least most similar) across various devices in a workflow. For instance it ensures that photos taken from a camera look the same at the editors screen and the printer output. If you have questions on color management, then Øyvind Kolås (IRC nick: pippin) or Elle Stone (IRC nick: elle) are the best persons to ask in the project.
  • 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).
  • 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.
  • connection - [GEGL] A link/pipe routing image flow between operations within the graph goes from an output pad to an input pad, in graph glossary this might also be referred to as an edge. [14]
  • Continuous Integration - a method to regularly fetch the source code from the version control system, build and test the software. Developers get almost immediate feedback whether their software builds and works well. By doing this on a regular basis bugs can be detected and fixed much earlier than if testing was the last step before the release or after release on the user's side. This increases the software quality. Modern continuous integration systems use a client-server architecture: a server does all the continuous integration jobs and users access it via a web browser (=the client). GIMP uses Jenkins as continuous integration server.

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.
  • DAG - Directed Acyclic Graph. In computer science and mathematics a graph with directed edges and the attribute, that every node is reached never or only once on any path. For instance trees (as data structure) are DAGs.
  • deprecated - a term from software development. Code marked as deprecated is outdated or obsolete. It and the code using it need to be replaced by refactored code soon. Deprecated code often occurs as result of API changes.
    Example: The code contains two functions do_this and do_that. Function do_that calls do_this. Function do_this is marked as deprecated. It soon needs to be replaced by a newer function do_this_better and do_that needs to call do_this_better instead.
  • 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 the detailed Desktop Entry 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 DNG specification.
  • dpi - dots per inch. Measure of resolution of a device as density or frequency of points or dots which can be addressed or referred to by the device. [2] It is often confused with lpi and ppi. DPI refers to the amount of ink dots in printing. Each of these dots has a certain primary, for instance a CMYK color. Pixels of secondary colors are created by plotting many of these dots side-by-side. Thus a high DPI count isn't the same as a high PPI count. Because of technological progress in ink printing this measure is of decreasing importance.
  • dynamic range - Measure of spread from the highest to lowest energy levels that can be captured by an imaging or recording or reproduced by a play-back device. E.g. a top-class scanning camera back can capture a range of 11 f/stops; a good film-scanner may be able to manage under 9 stops. The concept of energy levels is usually converted to densities in devices such as scanners e.g. dynamic range is '0.2 - 3.0D units'. [2]

E

  • enhancement request - the request for a new feature, that is not already in GIMP. An enhancement request should never be filed without prior discussion on the gimp-developer mailing list. This is to make sure that the enhancement requests that are filed are well-specified and aligned with the overall goals the developers have for GIMP.
  • 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 the Extended Window Manager Hints 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 the detailed File URI 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
  • GEGL-chant - A way to hide some boilerplate code in GEGL and to reduce code duplications defining the parameters specifications of each operation. To achieve this it makes heavy use of C macro definitions and the C preprocessor. It allows defining a property on one line instead of the usual GObject way which needs 4 or 5 different locations in the class modified for each added property. The chanted properties can contain metadata, such as valid values, upper and lower bounds and their suitability for nonlinear compuation.
    See also the file gegl-chant.h and the GEGL operations using it.
  • GIF - Graphics Interchange Format. A bitmap image 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's GIF loader, GIMP's GIF saver
  • GNOME -
    • a free desktop environment for Unix-style operating systems with a GUI and software for daily use. GNOME applications can also be compiled and run on other platforms, such as Windows. GIMP is part of this desktop environment. [11]
    • The GNOME Project is a diverse international community which involves thousands of contributors, many of whom are volunteers. Aim of the GNOME project is to make the GNOME desktop environment. [11]
  • 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]
  • graph - in computer science and mathematics a composition of nodes and edges. In [GEGL] the graph is a DAG. [14] This means, that every operation node is reached once at most, but never two or more times.
  • 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
  • GUI - graphical user interface. A form of UI which uses graphical symbolic representations of objects (like icons, buttons, a canvas for drawing) which are manipulated with a pointing device or keyboard.

H

  • Hackordnung - The last section from the file HACKING as found in the GIMP source tree explains how the GIMP source code should be formatted.
  • 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 implements this proposed standard since version 2.4.
    See also detailed ICC Profiles in X 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. The ICC specification is approved as international standard ISO 15076-1
    See also detailed ICC 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 ICCCM specification.
  • IDE - Integrated Development Environment. An integrated set of development tools, such as code editor, compiler, linker, debugger, documenter, testing tools, version control and deployment aid. Examples are Anjuta, Code::Blocks, Eclipse, Emacs, KDevelop and Netbeans. We GIMP developers don't make rules about the development environment. Some of us use Emacs, Eclipse or Netbeans while others prefer simple editors (Geany, GEdit, Vi) and command line tools instead of an IDE.
  • 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].
  • ILV - International Lighting Vocabulary. A dictionary of the CIE with standard definitions regarding light. [4]
  • image pyramid - a set of images with the same content, but pre-rendered in different sizes. The aim is to increase the rendering speed while reducing aliasing artifacts and assuring continuity within and between several target images. [15]
  • introspection - a method in object oriented programming techniques to gather information about other classes at runtime. GEGL uses GObject introspection and there are plans for GIMP to do the same.
  • ISO -
    • the International Organization for Standardization. An international association to develop and publish standards. [12]
    • [photo] the film speed, e.g. the sensitivity of the film grain or camera sensor to light. The higher this sensitivity, the less light is necessary to take a photo, but the photo becomes more noisy resp. grainy.

J

  • 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.
  • JPEG -
    • Joint Photographic Experts Group. A lossy compression method standardised by the 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.

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.
  • LCMS - Little Color Management System. LCMS is an open-source color management engine with focus on small footprint, accuracy and performance. It uses the ICC specification.
    See also the LCMS website.
  • LGM - Libre Graphics Meeting. Annual conference of developers and users of graphics open source software. GIMP has been participating for many years.
    See also the LGM website
  • LGW - Libre Graphics World. LGW is an online magazine for creatives using free applications for digital painting, graphic and web design, desktop publishing, photography and CAD. Its focus are news, tutorials and articles to provide most up to date information about evolution of these applications and best practices. One of LGW's authors is Alexandre Prokoudine (prokoudine at IRC)
    See also LGW 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 - [COL] a number that corresponds to the human perception of reflected light from a surface (e.g. the brightness of a color relative to the brightness of a similar illuminated white area) [1] [4].
  • link, dynamically - the process of creating a library that is not part of the program binary, but a separate file that is loaded at runtime. This makes it easy to reuse the same library for many programs. On the other hand, many versions of the same dynamic library can lead to usage of the wrong library version at runtime (the so-called DLL hell). Dynamically loaded libraries have the file extension .dll on Windows, .so on Linux and .dylib on OS X.
    See also Stackoverflow article: What do 'statically linked' and 'dynamically linked' mean?.
  • linker - a program to assemble single binary artifacts (so called 'object files') to a bigger piece of software (e.g. the program or a library).
  • 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.
  • LMS - a color space model that describes colors in terms of the sensitivities of the three types of cone cells in the human eye, which have overlapping sensitivities to Long, Medium, and Short wavelengths of light. When chromatically adapting a color from one light source to another to maintain color constancy, the color is converted from XYZ to LMS using a chromatic adaptation model such as the Bradford transform.
  • lpi - lines per inch. measure of resolution or fineness of photo-mechanical reproduction. [2]
  • luminance -
    • the weighted sum of R, G and B color component (=in linear light) Wikipedia article
    • [COL] 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.
  • LUT - Look-Up Table. A key-value-table, which is queried with a key and returns the assigned value. Synonyms are map or dictionary. It's a convenient way to get the results of a time-consuming or stochastic function quickly. The downside is that it potentially uses more memory than a computation.
  • LUT profile - a color profile which internally uses a LUT to assign output color values to input color values. LUT profiles have a black and white point. For instance printer profiles are mostly LUT profiles. [22]

M

  • make - a programming tool to control the generation of executables and other non-source files of a program from the program's source files. [13]
    See also GNU make website.
  • Makefile - a text file to control make. It contains all the make targets. In GIMP this file is generated from the Makefile.am file by the Autotools.
  • make target - a CLI set of commands for make to trigger various actions, e.g. compiling a program from the sources.
  • meta operation - [GEGL] a composite operation, i.e. an operation that consists of other operations.
  • module - a part of GIMP providing optional functionality, such as input controllers, color selectors and display filters. Each module can be activated and deactivated in GIMP's Module manager; the changes apply at GIMPs next start. Technically a module is tightly integrated with the GIMP core. It is a shared object that runs in the GIMP process.
    See also 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 OpenCL website, GEGL porting matrix.
  • OpenICC - a open source software project with two main goals. The first goal is to work out a common set of settings for color savvy applications to share profiles and settings. The second goal is to bring together those developers in areas like printing, display and desktop applications to work together to make color management end to end work for open source applications. [21]
    See also: website
  • operation - [GEGL]The processing primitive of GEGL, it is where the actual image processing takes place. Operations are plug-ins and provide the actual functionality of GEGL [14]

P

  • pad - [GEGL] The part of a node that exchanges image content. The place where image "pipes" are used to connect the various operations in the composition. [14]
    See also input pad, output pad.
  • PCS - Profile Connection Space. The reference color space to convert from one ICC profile to another. Its purpose is to exchange color information across various devices. Usual PCS's are LAB and XYZ. The image editing RGB color spaces like sRGB use XYZ.
  • 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.
    See also PDB source code.
  • Perl - a programming language. Perl programs are interpreted. The filename extension is .pl. GIMP itself uses it to generate PDB interfaces from plug-ins, see the Perl files in /plug-ins/common and /tools/pdbgen. Aside from that there's GIMP-Perl, which is a separate GIMP plug-in.
    See also Perl website.
  • plug-in - an optional part of GEGL and 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 PNG specification.
  • ppi - points per inch; pixels per inch: Measure of input resolution e.g. of scanning device, measured as the number of points on the object at which a sample or measure is taken or which are resolved by the device per linear inch on a given axis: e.g. 600ppi means six hundred points per inch, usually along the axis of the scanner sensor. [2] Increasing the PPI count increases the image quality up to a certain degree: whether an image is perceived as fine or coarse granular also depends on the sensitivity of the human eye and the distance between eye and image. Image quality also depends on the contrast and the smoothness of the tonal values.
    See also dpi, lpi.
  • PS - Adobe Photoshop, a widely used, high-end image manipulation application in the commercial sector. Photoshop is available for Windows and OS X computers. Modified variants, such as Photoshop Express and Photoshop Touch, are available for mobile devices. Note that - although GIMP is often seen as Photoshop competitor - GIMP is not a for-free-Photoshop copy [23].
  • PSB - Photoshop Big. Adobe Photoshop's native file format for large documents with up to 300.000 Pixels in any dimension, otherwise identically to PSD. GIMP currently doesn't support PSB.
  • PSD - Photoshop Document. Adobe Photoshop's native file format for images with up to 30.000 Pixels in any dimension. GIMP has basic support reading and writing PSD files. Advanced PS features with no equivalent in GIMP such as adjustment layers and layer effects are currently not supported.
    See also PSD 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.
  • property - [GEGL] an attribute that controls the behavior of an operation. Through the use of GParamSpecs properties are self documenting via introspection. [14]

Q

QA - Quality Assurance. Actions to ensure quality during production. For software products these include for instance involvement of users and other relevant stakeholders, proper design of interactional and technical architectures, obeying coding standards, reviews and tests.

R

  • resolution (from [2]) -
    • For input devices e.g. cameras, scanners: measure of the ability of a system to reproduce details present in a subject so that they are in the image. Measure of highest spatial frequency which can be recorded by the system.
      Units: total number of usable pixels for digital cameras; ppi for scanners; line pairs per millimetre for objectives (not to be confused with lpi!).
    • For output devices e.g. printers, film-writers: measure of system's ability to address or refer to separate points or lines of output.
      Unit: dpi.
    • Measure of system's ability to distinguish variations in colors or of density.
      Unit: bit depth (total number of bits available for encoding values).
    • For positioning or focusing mechanisms: the minimum repeatable adjustment increment achievable.
  • ROI - [GEGL] - region of interest. It's the area you're currently working on in your GEGL operation.

S

  • 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 Shared MIME Database 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 Startup Notification 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 implements this standard and dropped support for the old-fashioned .xvpics.
    See also Thumbnail Managing Standard specification.
  • tile - [GEGL] Functionally a rectangular part of an operation's input, intermediate or output data. Technically tiles are internal implementation parts of GEGL buffers, i.e. not exposed in the GEGL buffer APIs. [14]
  • tile backend - [GEGL] the implementation of pixel storage for a GeglBuffer (synonymous to a file system driver in an operating system). There are backends storing each tile as separate files, all tiles of a buffer in a file, communicate over gimps wire-protocol for plug-ins to operate on GeglBuffers where the tiles are stored in the main GIMP process. Other possible tile backends could communicate over the network to fetch spatial tiles from map providers (OpenStreetMap etc.)
  • 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

  • UI - user interface. The part of the program the user interacts with.
    See also: CLI, GUI.

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]
  • Version Control System - a software system that records all changes to arbitrary files and file sets over time. It's allows you to recall specific versions later, compare versions, review changes made over time, find out who last modified something or which change introduced a bug, revert changes etc. [16] We use Git for managing the babl, GEGL and GIMP source code and documentation.

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]
Wilber, the GIMP mascot

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 XDND 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 supports this protocol since version 2.4.
    See also XDS specification.
  • 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 XSETTINGS 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: XSL website at W3C.

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
  11. GNOME website
  12. ISO website
  13. GNU Make website
  14. GEGL glossary
  15. Lance, Williams: Pyramidal parametrics, Computer Graphics 7.3 (1983): 1-11.
  16. Scott Chacon: Getting Started About Version Control, licensed under CC BY-NC-SA 3.0
  17. Lucas Rocha, Announcement at GNOME's devel-announce-list, 19.03.2009
  18. GEGL website
  19. GTK+ website
  20. Linux Devcenter: Developer interview: Robin Rowe and Andrew Prock on Cinepaint
  21. OpenICC website
  22. Stone, Elle: Completely Painless Programmer's Guide to XYZ, RGB, ICC, xyY, and TRCs
  23. The GIMP team: Produkt vision

Trademarks

Adobe, Photoshop, Photoshop Express and Photoshop Touch are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Apple and OS X are trademarks of Apple Computer, Inc. registered in the United States and other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. All other products are the property of their respective owners.