# GEGL operation reference

Image processing operations are shared objects (plug-ins) loaded when GEGL initializes. This page is generated from information registered by the plug-ins themselves.

## Categories

A plug-in can belong in multiple categories. Below is indexes broken down into the various available categories.

### effects

gegl:dropshadow

### porter-duff

gegl:clear gegl:dst gegl:dst-atop gegl:dst-in gegl:dst-out gegl:dst-over gegl:normal gegl:over gegl:src gegl:src-atop gegl:src-in gegl:src-out gegl:src-over gegl:xor

### meta

gegl:difference-of-gaussians gegl:dropshadow gegl:layer gegl:load gegl:tonemap gegl:unsharp-mask

### misc

gegl:bilateral-filter gegl:box-max gegl:box-min gegl:box-percentile gegl:color-reduction gegl:disc-percentile gegl:hstack gegl:kuwahara gegl:kuwahara-max gegl:kuwahara-min gegl:snn-mean gegl:snn-percentile

### compositors

gegl:add gegl:average gegl:blend-reflect gegl:clear gegl:color-burn gegl:color-dodge gegl:darken gegl:difference gegl:divide gegl:dst gegl:dst-atop gegl:dst-in gegl:dst-out gegl:dst-over gegl:exclusion gegl:gamma gegl:hard-light gegl:lighten gegl:multiply gegl:negation gegl:normal gegl:over gegl:overlay gegl:plus gegl:screen gegl:soft-burn gegl:soft-dodge gegl:soft-light gegl:src gegl:src-atop gegl:src-in gegl:src-out gegl:src-over gegl:subtract gegl:subtractive gegl:svg-huerotate gegl:svg-luminancetoalpha gegl:svg-matrix gegl:svg-multiply gegl:svg-saturate gegl:xor

### blend

gegl:average gegl:blend-reflect gegl:negation gegl:soft-burn gegl:soft-dodge gegl:subtractive

### core

gegl:clone gegl:convert-format gegl:crop gegl:nop gegl:shifto

### debug

gegl:line-profile

### math

gegl:add gegl:divide gegl:gamma gegl:multiply gegl:subtract

### transform

gegl:reflect gegl:rotate gegl:scale gegl:shear gegl:transform gegl:translate

### programming

gegl:load-buffer gegl:pixbuf gegl:save-buffer gegl:save-pixbuf gegl:write-buffer

### edge

gegl:difference-of-gaussians

### enhance

gegl:c2g gegl:stress gegl:stretch-contrast gegl:tonemap gegl:unsharp-mask

### video

gegl:ff-load gegl:mblur gegl:v4l

### render

gegl:checkerboard gegl:color gegl:fractal-explorer gegl:introspect gegl:linear-gradient gegl:mandelbrot gegl:path gegl:perlin-noise gegl:radial-gradient gegl:text

### blur

gegl:box-blur gegl:demosaic-bimedian gegl:demosaic-simple gegl:gaussian-blur gegl:lens-correct gegl:mblur

### svgfilter

gegl:color-burn gegl:color-dodge gegl:darken gegl:difference gegl:exclusion gegl:hard-light gegl:lighten gegl:overlay gegl:plus gegl:screen gegl:soft-light gegl:svg-huerotate gegl:svg-luminancetoalpha gegl:svg-matrix gegl:svg-multiply gegl:svg-saturate

### color

gegl:brightness-contrast gegl:color-temperature gegl:contrast-curve gegl:convert-format gegl:grey gegl:invert gegl:levels gegl:mono-mixer gegl:remap gegl:stretch-contrast gegl:threshold gegl:value-invert gegl:whitebalance

### output

gegl:display gegl:gtk-display gegl:png-save gegl:save-buffer gegl:save-pixbuf gegl:write-buffer

### transparency

gegl:opacity

### input

gegl:ff-load gegl:load gegl:load-buffer gegl:open-buffer gegl:pixbuf gegl:rectangle gegl:svg-load gegl:v4l

| gegl:add
| Math operation add (c = c + value)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Double 0.00 -inf - +inf | value | global value used if aux doesn't contain data
| gegl:average
| Image blending operation 'average' (`c = (cA + aB)/2`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:bilateral-filter
| An edge preserving blur filter that can be used for noise reduction. It is a gaussian blur where the contribution of neighbourhood pixels are weighted by the color difference from the center pixel.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-70.00 | blur-radius | Radius of square pixel region, (width and height will be radius*2+1).
| Double 8.00 0.00-70.00 | edge-preservation | Amount of edge preservation
| gegl:blend-reflect
| Image blending operation 'blend-reflect' (`c = cB>=1.0?1.0:cA*cA / (1.0-cB)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:box-blur
| Performs an averaging of a square box of pixels.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-200.00 | radius | Radius of square pixel region, (width and height will be radius*2+1).
| gegl:box-max
| Sets the target pixel to the value of the maximum value in a box surrounding the pixel.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-200.00 | radius | Radius of square pixel region (width and height will be radius*2+1)
| gegl:box-min
| Sets the target pixel to the value of the minimum value in a box surrounding the pixel.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-200.00 | radius | Radius of square pixel region (width and height will be radius*2+1)
| gegl:box-percentile
| Sets the target pixel to the color corresponding to a given percentile when colors are sorted by luminance.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-70.00 | radius | Radius of square pixel region (width and height will be radius*2+1)
| Double 50.00 0.00-100.00 | percentile | The percentile to compute, defaults to 50, which is a median filter.
| gegl:brightness-contrast
| Changes the light level and contrast.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 1.00 -5.00-5.00 | contrast | Range scale factor
| Double 0.00 -3.00-3.00 | brightness | Amount to increase brightness
| gegl:c2g
| Color to grayscale conversion, uses spatial color differences to perform local grayscale contrast enhancement.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 384 2-5000 | radius | Neighbourhood taken into account
| Int 3 0-1000 | samples | Number of samples to do
| Int 23 0-1000 | iterations | Number of iterations (length of exposure)
| Boolean False | same-spray | Use the same spray for all pixels
| Double 1.80 0.00-8.00 | rgamma | Gamma applied to radial distribution
| Double 1.00 -10.00-10.00 | strength | Amount of correction 0=none 1.0=full
| Double 1.00 0.00-10.00 | gamma | Post correction gamma.
| gegl:checkerboard
| Checkerboard renderer
| Object | output | Ouput pad for generated image buffer.
| Int 16 1- +inf | x | Horizontal width of cells pixels.
| Int 16 1- +inf | y | Vertical width of cells in pixels.
| Int 0 -inf - +inf | x-offset | Horizontal offset (from origin) for start of grid.
| Int 0 -inf - +inf | y-offset | Vertical offset (from origin) for start of grid.
| Color | color1 | One of the cell colors (defaults to 'black')
| Color | color2 | The other cell color (defaults to 'white')
| gegl:clear
| Porter Duff operation clear (d = 0.0)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:clone
| Clone a buffer
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String ID | ref | The reference ID used as input (for use in XML).
| gegl:color
| Generates a buffer entirely filled with the specified color, crop it to get smaller dimensions.
| Object | output | Ouput pad for generated image buffer.
| Color | value | The color to render (defaults to 'black')
| gegl:color-burn
| SVG blend operation color-burn (`if cA * aB + cB * aA <= aA * aB: d = cA * (1 - aB) + cB * (1 - aA) otherwise: d = (cA == 0 ? 1 : (aA * (cA * aB + cB * aA - aA * aB) / cA) + cA * (1 - aB) + cB * (1 - aA))`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:color-dodge
| SVG blend operation color-dodge (`if cA * aB + cB * aA >= aA * aB: d = aA * aB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = (cA == aA ? 1 : cB * aA / (aA == 0 ? 1 : 1 - cA / aA)) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:color-reduction
| Reduces the number of bits per channel (colors and alpha), with optional dithering.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 16 1-16 | red-bits | Number of bits for red channel
| Int 16 1-16 | green-bits | Number of bits for green channel
| Int 16 1-16 | blue-bits | Number of bits for blue channel
| Int 16 1-16 | alpha-bits | Number of bits for alpha channel
| String none | dither-type | Dithering strategy (none, random, random-covariant, bayer, floyd-steinberg)
| gegl:color-temperature
| Allows changing the color temperature of an image.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 6500.00 1000.00-12000.00 | original-temperature | Estimated temperature of the light source in Kelvin the image was taken with.
| Double 6500.00 1000.00-12000.00 | intended-temperature | Corrected estimation of the temperature of the light source in Kelvin.
| gegl:contrast-curve
| Adjusts the contrast of the image according to a curve.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 0 0-65536 | sampling-points | Number of curve sampling points. 0 for exact calculation.
| Curve | curve | The contrast curve.
| gegl:convert-format
| Convert the data to the specified format
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String RGBA float. | format | Babl ouput format string
| gegl:crop
| Crop a buffer
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | x | X
| Double 0.00 -inf - +inf | y | Y
| Double 10.00 -inf - +inf | width | Width
| Double 10.00 -inf - +inf | height | Height
| gegl:darken
| SVG blend operation darken (`d = MIN (cA * aB, cB * aA) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:demosaic-bimedian
| Performs a grayscale2color demosaicing of an image, using bimedian interpolation.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 0 0-3 | pattern | Bayer pattern used, 0 seems to work for some nikon files, 2 for some Fuji files.
| gegl:demosaic-simple
| Performs a naive grayscale2color demosaicing of an image, no interpolation.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 0 0-3 | pattern | Bayer pattern used, 0 seems to work for some nikon files, 2 for some Fuji files.
| gegl:difference
| SVG blend operation difference (`d = cA + cB - 2 * (MIN (cA * aB, cB * aA))`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:difference-of-gaussians
| Does an edge detection based on the difference of two gaussian blurs.
| Double 1.00 0.00-10.00 | radius1 | Radius
| Double 2.00 0.00-10.00 | radius2 | Radius
| gegl:disc-percentile
| Sets the target pixel to the color corresponding to a given percentile when colors are sorted by luminance.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-70.00 | radius | Radius of square pixel region (width and height will be radius*2+1)
| Double 50.00 0.00-100.00 | percentile | The percentile to compute, defaults to 50, which is a median filter.
| gegl:display
| Displays the input buffer in an SDL window (restricted to one display op/process, due to SDL implementation issues, a gtk+ based replacement would be nice.
| Object | input | Input pad, for image buffer input.
| String window_titl | window-title | Title to be given to output window
| String icon_title. | icon-title | Icon to be used for output window
| Pointer | screen | private
| Int 0 0-1000 | w | private
| Int 0 0-1000 | h | private
| Int 0 0-1000 | width | private
| Int 0 0-1000 | height | private
| gegl:divide
| Math operation divide (c = value==0.0?0.0:c/value)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Double 1.00 -inf - +inf | value | global value used if aux doesn't contain data
| gegl:dropshadow
| Creates a dropshadow effect on the input buffer.
| Double 0.50 -10.00-10.00 | opacity | Opacity
| Double 20.00 -inf - +inf | x | Horizontal shadow offset.
| Double 20.00 -inf - +inf | y | Vertical shadow offset.
| Double 10.00 -inf - +inf | radius | Blur radius.
| gegl:dst
| Porter Duff operation dst (d = cB)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:dst-atop
| Porter Duff operation dst-atop (d = cB * aA + cA * (1 - aB))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:dst-in
| Porter Duff operation dst-in (d = cB * aA)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:dst-out
| Porter Duff operation dst-out (d = cB * (1 - aA))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:dst-over
| Porter Duff operation dst-over (d = cB + cA * (1 - aB))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:exclusion
| SVG blend operation exclusion (`d = (cA * aB + cB * aA - 2 * cA * cB) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:ff-load
| FFmpeg video frame importer.
| Object | output | Ouput pad for generated image buffer.
| FilePath /home/pippi | path | Path of file to load.
| Int 0 0-1000000 | frame | frame number
| gegl:fractal-explorer
| Fractal Explorer
| Object | output | Ouput pad for generated image buffer.
| Int 400 10-10000000 | width | Width
| Int 400 10-10000000 | height | Height
| Int 0 0-8 | fractaltype | Fractal Type
| Double -2.00 -3.00-3.00 | xmin | Left
| Double 2.00 -3.00-3.00 | xmax | Right
| Double -2.00 -3.00-3.00 | ymin | Top
| Double 2.00 -3.00-3.00 | ymax | Bottom
| Int 50 1-1000 | iter | Iterations
| Double -0.75 -2.50-2.50 | cx | CX (only Julia)
| Double 0.20 -2.50-2.50 | cy | CY (only Julia)
| Double 1.00 0.00-1.00 | redstretch | Red stretching factor
| Double 1.00 0.00-1.00 | greenstretch | Green stretching factor
| Double 1.00 0.00-1.00 | bluestretch | Blue stretching factor
| Int 1 0-2 | redmode | Red application mode (0:SIN; 1:COS; 2:NONE)
| Int 1 0-2 | greenmode | Green application mode (0:SIN; 1:COS; 2:NONE)
| Int 0 0-2 | bluemode | Blue application mode (0:SIN; 1:COS; 2:NONE)
| Boolean False | redinvert | Red inversion
| Boolean False | greeninvert | Green inversion
| Boolean False | blueinvert | Blue inversion
| Int 256 2-8192 | ncolors | Number of colors
| Boolean False | useloglog | Use loglog smoothing
| gegl:gamma
| Math operation gamma (c = powf (c, value))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Double 1.00 -inf - +inf | value | global value used if aux doesn't contain data
| gegl:gaussian-blur
| Performs an averaging of neighbouring pixels with the normal distribution as weighting.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-200.00 | std-dev-x | Standard deviation for the horizontal axis. (multiply by ~2 to get radius)
| Double 4.00 0.00-200.00 | std-dev-y | Standard deviation for the vertical axis. (multiply by ~2 to get radius.)
| String auto | filter | Optional parameter to override the automatic selection of blur filter. Choices are fir, iir, auto
| gegl:grey
| Turns the image greyscale
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:gtk-display
| Displays the input buffer in an GTK window .
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | window-title | Title to give window, if no title given inherits name of the pad providing input.
| gegl:hard-light
| SVG blend operation hard-light (`if 2 * cA < aA: d = 2 * cA * cB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = aA * aB - 2 * (aB - cB) * (aA - cA) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:hstack
| Horizontally stack inputs, (in "output" "aux" is placed to the right of "input")
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:introspect
| GEGL graph visualizer.
| Object | node | GeglNode to introspect
| Pointer | buf | Buffer
| Object | output | Rendered result of intropection.
| Object | input | Input pad, graph of input becomes rendered.
| Object | aux | Dummy.
| gegl:invert
| Inverts the components (except alpha), the result is the corresponding "negative" image.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:kuwahara
| Edge preserving blur
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 10.00 0.00-50.00 | radius | Radius of square pixel region (width and height will be radius*2+1)
| gegl:kuwahara-max
| Edge preserving max filter
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-50.00 | radius | Radius of square pixel region (width and height will be radius*2+1)
| gegl:kuwahara-min
| Edge preserving min filter
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-50.00 | radius | Radius of square pixel region (width and height will be radius*2+1)
| gegl:layer
| A layer in the traditional sense.
| String gegl:over.. | composite-op | Composite operation to use
| Double 1.00 0.00-1.00 | opacity | Opacity
| Double 0.00 -inf - +inf | x | Horizontal position
| Double 0.00 -inf - +inf | y | Vertical position
| Double 1.00 -inf - +inf | scale | Scale 1:1 size
| FilePath | src | Source datafile (png, jpg, raw, svg, bmp, tif, ...)
| gegl:lens-correct
| Copies image performing lens distortion correction.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Pointer | lens-info-pointer | Pointer to LensCorrectionModel
| gegl:levels
| Remaps the intensity range of the image
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -1.00-4.00 | in-low | Input luminance level to become lowest output
| Double 1.00 -1.00-4.00 | in-high | Input luminance level to become white.
| Double 0.00 -1.00-4.00 | out-low | Lowest luminance level in output
| Double 1.00 -1.00-4.00 | out-high | Highest luminance level in output
| gegl:lighten
| SVG blend operation lighten (`d = MAX (cA * aB, cB * aA) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:line-profile
| Renders luminance profiles for red green and blue components along the specified line in the input buffer, plotted in a buffer of the specified size.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 0 0-1000 | x0 | Start x coordinate
| Int 200 0-1000 | x1 | End x coordinate
| Int 0 0-1000 | y0 | Start y coordinate
| Int 200 0-1000 | y1 | End y coordinate
| Int 1024 10-10000 | width | Width of plot
| Int 256 10-10000 | height | Height of plot
| Double 0.00 -500.00-500.00 | min | Value at bottom
| Double 8.00 -500.00-500.00 | max | Value at top
| gegl:linear-gradient
| linear gradient renderer
| Object | output | Ouput pad for generated image buffer.
| Double 25.00 -1000.00-1000.00 | x1 | not documented
| Double 25.00 -1000.00-1000.00 | y1 | not documented
| Double 150.00 -1000.00-1000.00 | x2 | not documented
| Double 150.00 -1000.00-1000.00 | y2 | not documented
| Color | color1 | one end of gradient
| Color | color2 | one end of gradient
| gegl:load
| Multipurpose file loader, that uses other native handlers, and fallback conversion using image magick's convert.
| FilePath | path | Path of file to load.
| gegl:load-buffer
| A source that uses an in-memory GeglBuffer, for use internally by GEGL.
| Object | output | Ouput pad for generated image buffer.
| Object | buffer | The GeglBuffer to load into the pipeline
| gegl:mandelbrot
| Mandelbrot renderer.
| Object | output | Ouput pad for generated image buffer.
| Double -1.77 -200.00-200.00 | real | Real coordinate
| Double 0.00 -200.00-200.00 | img | Imaginary coordinate
| Double 3.50 -200.00-200.00 | level | Water level
| Int 128 0-512 | maxiter | Maximum number of iterations
| gegl:mblur
| Accumulating motion blur
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.95 0.00-1.00 | dampness | The value represents the contribution of the past to the new frame.
| gegl:mono-mixer
| Monochrome channel mixer
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.50 -10.00-10.00 | red | Amount of red
| Double 0.25 -10.00-10.00 | green | Amount of green
| Double 0.25 -10.00-10.00 | blue | Amount of blue
| gegl:multiply
| Math operation multiply (c = c * value)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Double 1.00 -inf - +inf | value | global value used if aux doesn't contain data
| gegl:negation
| Image blending operation 'negation' (`c = 1.0 - fabs(1.0-cA-cB)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:nop
| No operation (can be used as a routing point)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:normal
| Porter Duff operation normal (d = cA + cB * (1 - aA))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:opacity
| Weights the opacity of the input both the value of the aux input and the global value property.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Double 1.00 -10.00-10.00 | value | Global opacity value that is always used on top of the optional auxiliary input buffer.
| gegl:open-buffer
| A source that uses an on-disk GeglBuffer.
| Object | output | Ouput pad for generated image buffer.
| String | path | a GeglBuffer on disk to open
| gegl:over
| Porter Duff operation over (d = cA + cB * (1 - aA))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:overlay
| SVG blend operation overlay (`if 2 * cB > aB: d = 2 * cA * cB + cA * (1 - aB) + cB * (1 - aA) otherwise: d = aA * aB - 2 * (aB - cB) * (aA - cA) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:path
| Renders a brush stroke
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Color | fill | Color of paint to use for filling, use 0 opacity to disable filling.
| Color | stroke | Color of paint to use for stroking.
| Double 2.00 0.00-200.00 | stroke-width | The width of the brush used to stroke the path.
| Double 1.00 -2.00-2.00 | stroke-opacity | Opacity of stroke, note, does not behave like SVG since at the moment stroking is done using an airbrush tool.
| Double 0.60 0.00-1.00 | stroke-hardness | hardness of brush, 0.0 for soft brush 1.0 for hard brush.
| String nonzero | fill-rule | how to determine what to fill (nonzero|evenodd
| String | transform | svg style description of transform.
| Double 1.00 -2.00-2.00 | fill-opacity | The fill opacity to use.
| Path | d | A GeglVector representing the path of the stroke
| gegl:perlin-noise
| Perlin noise generator.
| Object | output | Ouput pad for generated image buffer.
| Double 1.20 -inf - +inf | alpha | not documented
| Double 1.80 -inf - +inf | scale | not documented
| Double -1.00 -inf - +inf | zoff | not documented
| Double 0.00 -inf - +inf | seed | not documented
| Int 3 0-20 | n | not documented
| gegl:pixbuf
| Uses the GdkPixbuf located at the memory location in pixbuf.
| Object | output | Ouput pad for generated image buffer.
| Pointer | pixbuf | GdkPixbuf to use
| gegl:plus
| SVG blend operation plus (`d = cA + cB`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:png-save
| PNG image saver (passes the buffer through, saves as a side-effect.)
| Object | input | Input pad, for image buffer input.
| String | path | Target path and filename, use '-' for stdout.
| Int 1 1-9 | compression | PNG compression level from 1 to 9
| Int 16 8-16 | bitdepth | 8 and 16 are amongst the currently accepted values.
| gegl:radial-gradient
| radial gradient renderer
| Object | output | Ouput pad for generated image buffer.
| Double 25.00 -1000.00-1000.00 | x1 | not documented
| Double 25.00 -1000.00-1000.00 | y1 | not documented
| Double 50.00 -1000.00-1000.00 | x2 | not documented
| Double 50.00 -1000.00-1000.00 | y2 | not documented
| Color | color1 | one end of gradient
| Color | color2 | one end of gradient
| gegl:rectangle
| A rectangular source of a fixed size with a solid color
| Double 0.00 -inf - +inf | x | Horizontal position
| Double 0.00 -inf - +inf | y | Vertical position
| Double 0.00 0.00- +inf | width | Horizontal extent
| Double 0.00 0.00- +inf | height | Vertical extent
| Color | color | Color to render
| gegl:reflect
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | origin-x | X-coordinate of origin
| Double 0.00 -inf - +inf | origin-y | Y-coordinate of origin
| String linear | filter | Filter type (nearest, linear, lanczos, cubic)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of lanczos function
| Double 0.00 -inf - +inf | x | Direction vector's x component
| Double 0.00 -inf - +inf | y | Direction vector's y component
| gegl:remap
| Linearly remap the R,G,B based on per pixel minimum and maximum values from the high/low input pads
| gegl:rotate
| Rotate the buffer around the specified origin.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | origin-x | X-coordinate of origin
| Double 0.00 -inf - +inf | origin-y | Y-coordinate of origin
| String linear | filter | Filter type (nearest, linear, lanczos, cubic)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of lanczos function
| Double 0.00 -inf - +inf | degrees | Angle to rotate (clockwize)
| gegl:save-buffer
| A GEGL buffer destination surface.
| Object | input | Input pad, for image buffer input.
| Pointer | buffer | The location where to store the output GeglBuffer
| gegl:save-pixbuf
| Save output into a GdkPixbuf.
| Object | input | Input pad, for image buffer input.
| Pointer | pixbuf | The location where to store the output GdkPixbuf.
| gegl:scale
| Scales the buffer.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | origin-x | X-coordinate of origin
| Double 0.00 -inf - +inf | origin-y | Y-coordinate of origin
| String linear | filter | Filter type (nearest, linear, lanczos, cubic)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of lanczos function
| Double 1.00 -inf - +inf | x | Horizontal scale factor.
| Double 1.00 -inf - +inf | y | Vertical scale factor.
| gegl:screen
| SVG blend operation screen (`d = cA + cB - cA * cB`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:shear
| Shears the buffer.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | origin-x | X-coordinate of origin
| Double 0.00 -inf - +inf | origin-y | Y-coordinate of origin
| String linear | filter | Filter type (nearest, linear, lanczos, cubic)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of lanczos function
| Double 1.00 -inf - +inf | x | Horizontal shear amount.
| Double 1.00 -inf - +inf | y | Vertical shear amount.
| gegl:shifto
| Shift the contents of a buffer this op is deprecated and gegl:translate should be used instead.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | x | X-axis shift
| Double 0.00 -inf - +inf | y | Y-axis shift
| gegl:snn-mean
| Noise reducing edge enhancing blur filter based on Symmetric Nearest Neighbours
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 8.00 0.00-70.00 | radius | Radius of square pixel region, (width and height will be radius*2+1)
| Int 2 1-2 | pairs | Number of pairs; higher number preserves more acute features
| gegl:snn-percentile
| Noise reducing edge enhancing percentile filter based on Symmetric Nearest Neighbours
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 8.00 0.00-70.00 | radius | Radius of square pixel region (width and height will be radius*2+1)
| Int 2 1-2 | pairs | Number of pairs, higher number preserves more acute features
| Double 50.00 0.00-100.00 | percentile | The percentile to return, the default value 50 is equal to the median.
| gegl:soft-burn
| Image blending operation 'soft-burn' (`c = (cA+cB<1.0)?0.5*cB / (1.0 - cA):1.0-0.5*(1.0 - cA) / cB`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:soft-dodge
| Image blending operation 'soft-dodge' (`c = (cA+cB<1.0)?0.5*cA / (1.0 - cB):1.0-0.5*(1.0 - cB)/cA`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:soft-light

SVG blend operation soft-light (`if 2 * cA < aA: d = cB * (aA - (aB == 0 ? 1 : 1 - cB / aB) * (2 * cA - aA)) + cA * (1 - aB) + cB * (1 - aA); if 8 * cB <= aB: d = cB * (aA - (aB == 0 ? 1 : 1 - cB / aB) * (2 * cA - aA) * (aB == 0 ? 3 : 3 - 8 * cB / aB)) + cA * (1 - aB) + cB * (1 - aA); otherwise: d = (aA * cB + (aB == 0 ? 0 : sqrt (cB / aB) * aB - cB) * (2 * cA - aA)) + cA * (1 - aB) + cB * (1 - aA)`)

| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:src
| Porter Duff operation src (d = cA)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:src-atop
| Porter Duff operation src-atop (d = cA * aB + cB * (1 - aA))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:src-in
| Porter Duff operation src-in (d = cA * aB)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:src-out
| Porter Duff operation src-out (d = cA * (1 - aB))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:src-over
| Porter Duff operation src-over (d = cA + cB * (1 - aA))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:stress
| Spatio Temporal Retinex-like Envelope with Stochastic Sampling.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 300 2-5000 | radius | Neighbourhood taken into account
| Int 10 0-1000 | samples | Number of samples to do
| Int 10 0-1000 | iterations | Number of iterations (length of exposure)
| Boolean True | same-spray | Use the same spray for all pixels
| Double 2.00 0.00-8.00 | rgamma | Gamma applied to radial distribution
| Double 1.00 -10.00-10.00 | strength | Amount of correction 0=none 1.0=full
| Double 1.00 0.00-10.00 | gamma | Post correction gamma
| gegl:stretch-contrast
| Scales the components of the buffer to be in the 0.0-1.0 range. This improves images that make poor use of the available contrast (little contrast, very dark, or very bright images).
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:subtract
| Math operation subtract (c = c - value)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Double 0.00 -inf - +inf | value | global value used if aux doesn't contain data
| gegl:subtractive
| Image blending operation 'subtractive' (`c = cA+cB-1.0`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:svg-huerotate
| SVG color matrix operation svg_huerotate
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | values | list of <number>s
| gegl:svg-load
| Load an SVG file using librsvg
| Object | output | Ouput pad for generated image buffer.
| FilePath | path | Path to SVG file to load
| Int 100 1- +inf | width | Width for rendered image
| Int 100 1- +inf | height | Height for rendered image
| gegl:svg-luminancetoalpha
| SVG color matrix operation svg_luminancetoalpha
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | values | list of <number>s
| gegl:svg-matrix
| SVG color matrix operation svg_matrix
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | values | list of <number>s
| gegl:svg-multiply
| SVG blend operation svg-multiply (`d = cA * cB + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:svg-saturate
| SVG color matrix operation svg_saturate
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | values | list of <number>s
| gegl:text
| Display a string of text using pango and cairo.
| Object | output | Ouput pad for generated image buffer.
| Multiline Hello | string | String to display (utf8)
| String Sans | font | Font family (utf8)
| Double 10.00 1.00-2048.00 | size | Approximate height of text in pixels.
| Color | color | Color for the text (defaults to 'white')
| Int -1 -1-1000000 | wrap | Sets the width in pixels at which long lines will wrap. Use -1 for no wrapping.
| Int 0 0-2 | alignment | Alignment for multi-line text (0=Left, 1=Center, 2=Right)
| Int 0 0-1000000 | width | Rendered width in pixels. (read only)
| Int 0 0-1000000 | height | Rendered height in pixels. (read only)
| gegl:threshold
| Thresholds the image to white/black based on either the global value set in the value property, or per pixel from the aux input.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Double 0.50 -10.00-10.00 | value | Global threshold level (used when there is no auxiliary input buffer).
| gegl:tonemap
| Local contrast enhancement
| Double 20.00 0.00-100.00 | radius | radius
| Double 15.00 0.00-100.00 | blur | blur
| Double 0.50 -1.00-2.00 | amount | amount
| gegl:transform
| Transforms the group (used by svg).
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | origin-x | X-coordinate of origin
| Double 0.00 -inf - +inf | origin-y | Y-coordinate of origin
| String linear | filter | Filter type (nearest, linear, lanczos, cubic)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of lanczos function
| String | transform | Transformation string
| gegl:translate
| Repositions the buffer (with subpixel precision).
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | origin-x | X-coordinate of origin
| Double 0.00 -inf - +inf | origin-y | Y-coordinate of origin
| String linear | filter | Filter type (nearest, linear, lanczos, cubic)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of lanczos function
| Double 1.00 -inf - +inf | x | Horizontal translation.
| Double 1.00 -inf - +inf | y | Vertical translation.
| gegl:unsharp-mask
| Performs an unsharp mask on the input buffer (sharpens an image by adding false mach-bands around edges).
| Double 1.00 0.00-100.00 | std-dev | Standard deviation (spatial scale factor)
| Double 1.00 0.00-100.00 | scale | Scale, strength of effect.
| gegl:v4l
| Video4Linux input, webcams framegrabbers and similar devices.
| Object | output | Ouput pad for generated image buffer.
| FilePath /dev/video0 | path | Path to v4l device
| Int 320 0- +inf | width | Width for rendered image
| Int 240 0- +inf | height | Height for rendered image
| Int 0 0- +inf | frame | current frame number, can be changed to trigger a reload of the image.
| Int 0 0- +inf | fps | autotrigger reload this many times a second.
| gegl:value-invert
| Inverts just the value component, the result is the corresponding `inverted' image.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:whitebalance
| Allows changing the whitepoint and blackpoint of an image.
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -2.00-2.00 | high-a-delta | not documented
| Double 0.00 -2.00-2.00 | high-b-delta | not documented
| Double 0.00 -2.00-2.00 | low-a-delta | not documented
| Double 0.00 -2.00-2.00 | low-b-delta | not documented
| Double 1.00 -3.00-3.00 | saturation | not documented
| gegl:write-buffer
| A GEGL buffer destination surface.
| Object | input | Input pad, for image buffer input.
| Object | buffer | Write to an existing GeglBuffer
| gegl:xor
| Porter Duff operation xor (d = cA * (1 - aB)+ cB * (1 - aA))
| Object | output | Ouput pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.