GEGL operations

# 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.

### video

gegl:mblur

### output

gegl:buffer-sink gegl:exr-save gegl:jpg-save gegl:png-save gegl:ppm-save gegl:rgbe-save gegl:save gegl:save-pixbuf gegl:write-buffer

### meta

gegl:difference-of-gaussians gegl:display gegl:dropshadow gegl:layer gegl:load gegl:save gegl:unsharp-mask

### transform

gegl:map-absolute gegl:map-relative gegl:warp

### edge

gegl:difference-of-gaussians

### generic

gegl:convolution-matrix

### core

gegl:buffer-cache gegl:clone gegl:convert-format gegl:crop gegl:nop

### display

gegl:display gegl:sdl-display

### enhance

gegl:c2g gegl:deinterlace gegl:noise-reduction gegl:polar-coordinates gegl:red-eye-removal gegl:stress gegl:stretch-contrast gegl:unsharp-mask

### input

gegl:buffer-source gegl:load gegl:open-buffer gegl:pixbuf gegl:rectangle gegl:svg-load

### blend

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

### debug

gegl:line-profile

### porter-duff

gegl:remap svg:clear svg:dst svg:dst-atop svg:dst-in svg:dst-out svg:dst-over svg:src svg:src-atop svg:src-in svg:src-out svg:src-over svg:xor

### script

gegl:gluas

### tonemapping

gegl:fattal02 gegl:mantiuk06 gegl:reinhard05

### blur

gegl:box-blur gegl:demosaic-bimedian gegl:demosaic-simple gegl:gaussian-blur gegl:lens-correct gegl:lens-distortion gegl:mblur gegl:mirrors gegl:motion-blur gegl:pixelize

### distort

gegl:ditto gegl:emboss gegl:ripple gegl:waves gegl:whirl-pinch

### render

gegl:checkerboard gegl:color gegl:fill-path gegl:fractal-explorer gegl:grid gegl:introspect gegl:linear-gradient gegl:mandelbrot gegl:path gegl:perlin-noise gegl:plasma gegl:radial-gradient gegl:text gegl:vector-stroke gegl:vignette

### transparency

gegl:opacity

### compositors

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

### effects

gegl:dropshadow

### math

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

### svgfilter

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

### edge-detect

gegl:edge-laplace gegl:edge-sobel

### noise

gegl:noise-spread

### color

gegl:brightness-contrast gegl:color-rotate gegl:color-temperature gegl:color-to-alpha gegl:contrast-curve gegl:convert-format gegl:grey gegl:invert gegl:levels gegl:max-rgb gegl:mono-mixer gegl:posterize gegl:stretch-contrast gegl:threshold gegl:unpremul gegl:value-invert

### artistic

gegl:cubism

### map

gegl:fractal-trace

### misc

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

### programming

gegl:buffer-sink gegl:buffer-source gegl:pixbuf gegl:save-pixbuf gegl:write-buffer

| gegl:add
| Math operation add (c = c + value)
| Object | output | Output 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 | Output 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-1000.00 | blur-radius | Radius of square pixel region, (width and height will be radius*2+1).
| Double 8.00 0.00-100.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 | Output 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-1000.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 | Output 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 | Output 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 | Output 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 | Output 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:buffer-cache
| Cache the input buffer internally, further process take this buffer as input.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Pointer | buffer | The GeglBuffer where the caching is done
| gegl:buffer-sink
| A GEGL buffer destination surface.
| Object | input | Input pad, for image buffer input.
| Pointer | buffer | The location where to store the output GeglBuffer
| Pointer | format | The babl format of the output GeglBuffer, NULL to use input buffer format
| gegl:buffer-source
| A source that uses an in-memory GeglBuffer, for use internally by GEGL.
| Object | output | Output pad for generated image buffer.
| Object | buffer | The GeglBuffer to load into the pipeline
| gegl:c2g
| Color to grayscale conversion, uses envelopes formed from spatial color differences to perform color-feature preserving grayscale spatial contrast enhancement
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| int 300 2-3000 | radius | Neighborhood taken into account, this is the radius in pixels taken into account when deciding which colors map to which gray values
| int 4 1-1000 | samples | Number of samples to do per iteration looking for the range of colors
| int 10 1-1000 | iterations | Number of iterations, a higher number of iterations provides less noisy results at a computational cost
| gegl:checkerboard
| Checkerboard renderer
| Object | output | Output 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 rgb(0.0000, 0.0000, 0.0000) | color1 | One of the cell colors (defaults to 'black')
| Color rgb(1.0000, 1.0000, 1.0000) | color2 | The other cell color (defaults to 'white')
| gegl:clone
| Clone a buffer
| Object | output | Output 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 | Output pad for generated image buffer.
| Color rgb(0.0000, 0.0000, 0.0000) | value | The color to render (defaults to 'black')
| gegl:color-reduction
| Reduces the number of bits per channel (colors and alpha), with optional dithering
| Object | output | Output 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-rotate
| Rotate colors on the image
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Boolean False | s-cl | Switch to clockwise
| Int 0 0-360 | s-fr | Starting angle for the color rotation
| Int 0 0-360 | s-to | End angle for the color rotation
| Boolean False | d-cl | Switch to clockwise
| Int 0 0-360 | d-fr | Starting angle for the color rotation
| Int 0 0-360 | d-to | End angle for the color rotation
| Boolean False | gray | Choose in case of grayscale images
| Double 0.00 0.00-2.00 | hue | The value of hue
| Double 0.00 0.00-1.00 | saturation | The value of saturation
| Boolean False | change | Change/Treat to this
| Double 0.00 0.00-1.00 | threshold | The value of gray threshold
| gegl:color-temperature
| Allows changing the color temperature of an image.
| Object | output | Output 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:color-to-alpha
| Performs color-to-alpha on the image.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Color rgb(0.0000, 0.0000, 0.0000) | color | The color to render (defaults to 'black')
| gegl:contrast-curve
| Adjusts the contrast of the image according to a curve.
| Object | output | Output 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String RGBA float. | format | Babl output format string
| gegl:convolution-matrix
| Creates image by manually set convolution matrix
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | a1 | Value of the element in position (1,1)
| Double 0.00 -inf - +inf | a2 | Value of the element in position (1,2)
| Double 0.00 -inf - +inf | a3 | Value of the element in position (1,3)
| Double 0.00 -inf - +inf | a4 | Value of the element in position (1,4)
| Double 0.00 -inf - +inf | a5 | Value of the element in position (1,5)
| Double 0.00 -inf - +inf | b1 | Value of the element in position (2,1)
| Double 0.00 -inf - +inf | b2 | Value of the element in position (2,2)
| Double 0.00 -inf - +inf | b3 | Value of the element in position (2,3)
| Double 0.00 -inf - +inf | b4 | Value of the element in position (2,4)
| Double 0.00 -inf - +inf | b5 | Value of the element in position (2,5)
| Double 0.00 -inf - +inf | c1 | Value of the element in position (3,1)
| Double 0.00 -inf - +inf | c2 | Value of the element in position (3,2)
| Double 1.00 -inf - +inf | c3 | Value of the element in position (3,3)
| Double 0.00 -inf - +inf | c4 | Value of the element in position (3,4)
| Double 0.00 -inf - +inf | c5 | Value of the element in position (3,5)
| Double 0.00 -inf - +inf | d1 | Value of the element in position (4,1)
| Double 0.00 -inf - +inf | d2 | Value of the element in position (4,2)
| Double 0.00 -inf - +inf | d3 | Value of the element in position (4,3)
| Double 0.00 -inf - +inf | d4 | Value of the element in position (4,4)
| Double 0.00 -inf - +inf | d5 | Value of the element in position (4,5)
| Double 0.00 -inf - +inf | e1 | Value of the element in position (5,1)
| Double 0.00 -inf - +inf | e2 | Value of the element in position (5,2)
| Double 0.00 -inf - +inf | e3 | Value of the element in position (5,3)
| Double 0.00 -inf - +inf | e4 | Value of the element in position (5,4)
| Double 0.00 -inf - +inf | e5 | Value of the element in position (5,5)
| Double 1.00 -inf - +inf | div | The value of the divisor
| Double 0.00 -1.00-1.00 | off | The value of the offset
| Boolean True | norm | Normalize or not
| Boolean True | red | Red channel
| Boolean True | green | Green channel
| Boolean True | blue | Blue channel
| Boolean True | alpha | Alpha channel
| Boolean True | weight | Alpha weighting
| String extend | border | Type of border to choose.Choices are extend, wrap, crop.Default is extend
| gegl:crop
| Crop a buffer
| Object | output | Output 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:cubism
| A filter that somehow resembles a cubist painting style
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 10.00 0.00-256.00 | tile-size | Tile size
| Double 2.50 0.00-10.00 | tile-saturation | Tile saturation
| Int 1 0- +inf | seed | Random seed
| gegl:deinterlace
| Performs deinterlace on the image
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Boolean True | even | Keep even/odd fields
| Boolean True | horizontal | Choose horizontal or vertical
| Int 1 0-100 | size | Block size of deinterlacing rows/columns
| gegl:demosaic-bimedian
| Performs a grayscale2color demosaicing of an image, using bimedian interpolation.
| Object | output | Output 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 | Output 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-of-gaussians
| Does an edge detection based on the difference of two gaussian blurs.
| Double 1.00 0.00-1000.00 | radius1 | Radius
| Double 2.00 0.00-1000.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 | Output 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
| Display the input buffer in a window.
| Object | input | Input pad, for image buffer input.
| String window_titl | window-title | Title to be given to output window
| gegl:ditto
| Test op to do a 1:1 map of input to output, while sampling
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Enum | sampler-type | Sampler used internally
| gegl:divide
| Math operation divide (c = value==0.0f?0.0f:c/value)
| Object | output | Output 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 -2.00-2.00 | opacity | Opacity
| Double 20.00 -inf - +inf | x | Horizontal shadow offset
| Double 20.00 -inf - +inf | y | Vertical shadow offset
| Double 10.00 0.00- +inf | radius | Blur radius
| gegl:edge-laplace
| High-resolution edge detection
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:edge-sobel
| Specialized direction-dependent edge detection
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Boolean True | horizontal | Horizontal
| Boolean True | vertical | Vertical
| Boolean True | keep-signal | Keep Signal
| gegl:emboss
| Simulates an image created by embossing
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 30.00 0.00-360.00 | azimuth | The value of azimuth
| Double 45.00 0.00-180.00 | elevation | The value of elevation
| Int 20 1-100 | depth | Pixel depth
| String emboss | filter | Optional parameter to override automatic selection of emboss filter. Choices are emboss, blur-map
| gegl:exp-combine
| Combine multiple scene exposures into one high range buffer
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | exposures | Relative brightness of each exposure in EV
| Int 12 8-32 | steps | Log2 of source's discretization steps
| Double 8.00 0.00-32.00 | sigma | Weight distrubtion sigma controlling response contributions
| gegl:exr-save
| OpenEXR image saver
| Object | input | Input pad, for image buffer input.
| String | path | path of file to write to.
| Int 0 0-2048 | tile | tile size to use.
| gegl:fattal02
| Adapt an image, which may have a high dynamic range, for presentation using a low dynamic range. This operator attenuates the magnitudes of local image gradients, producing luminance within the range 0.0-1.0
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 1.00 0.00-2.00 | alpha | Gradient threshold for detail enhancement
| Double 0.90 0.10-2.00 | beta | Strength of local detail enhancement
| Double 0.80 0.00-1.00 | saturation | Global color saturation factor
| Double 0.00 0.00-1.00 | noise | Gradient threshold for lowering detail enhancement
| gegl:fill-path
| Renders a filled region
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Color rgba(0.0000, 0.0000, 0.0000, 0.6000) | color | Color of paint to use for filling.
| Double 1.00 -2.00-2.00 | opacity | The fill opacity to use.
| String nonzero | fill-rule | how to determine what to fill (nonzero|evenodd
| String | transform | svg style description of transform.
| Path | d | A GeglVector representing the path of the stroke
| gegl:fractal-explorer
| Fractal Explorer
| Object | output | Output pad for generated image buffer.
| int 400 1-10000000 | width | Width
| int 400 1-10000000 | height | Height
| Int 0 0-8 | fractaltype | Type of a fractal
| 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:fractal-trace
| Performs fractal trace on the image
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String fractal | fractal | Type of fractal to use. Choices are julia, mandelbrot. Default is mandelbrot.
| Double -1.00 -50.00-50.00 | X1 | X1 value, position
| Double 0.50 -50.00-50.00 | X2 | X2 value, position
| Double -1.00 -50.00-50.00 | Y1 | X2 value, position
| Double 1.00 -50.00-50.00 | Y2 | Y2 value, position
| Double 0.50 -50.00-50.00 | JX | Julia seed X value, position
| Double 0.50 -50.00-50.00 | JY | Julia seed Y value, position
| Int 3 1-65536 | depth | Depth value
| Double +inf 0.00- +inf | bailout | Bailout length
| String wrap | background | Optional parameter to override automatic selection of wrap background. Choices are wrap, black, white and transparent.
| gegl:gamma
| Math operation gamma (c = powf (c, value))
| Object | output | Output 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 neighboring pixels with the normal distribution as weighting
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 4.00 0.00-10000.00 | std-dev-x | Standard deviation for the horizontal axis. (multiply by ~2 to get radius)
| Double 4.00 0.00-10000.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:gluas
| A general purpose filter/composer implementation proxy for the lua programming language.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Multiline level = use | script | The lua script containing the implementation of this operation.
| FilePath | file | a stored lua script on disk implementing an operation.
| Double 1.00 -1000.00-1000.00 | user-value | (appears in the global variable 'user_value' in lua.
| gegl:grey
| Turns the image greyscale
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:grid
| Grid renderer
| Object | output | Output pad for generated image buffer.
| int 32 1- +inf | x | Horizontal width of cells pixels
| int 32 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
| int 4 0- +inf | line-width | Width of grid lines in pixels
| int 4 0- +inf | line-height | Height of grid lines in pixels
| Color rgb(0.0000, 0.0000, 0.0000) | line-color | Color of the grid lines
| gegl:hstack
| Horizontally stack inputs, (in "output" "aux" is placed to the right of "input")
| Object | output | Output 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 | output | Output pad for generated image buffer.
| Object | node | GeglNode to introspect
| gegl:invert
| Inverts the components (except alpha), the result is the corresponding "negative" image.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:jpg-save
| JPEG 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 90 1-100 | quality | JPEG compression quality (between 1 and 100)
| Int 0 0-100 | smoothing | Smoothing factor from 1 to 100; 0 disables smoothing
| Boolean True | optimize | Use optimized huffman tables
| Boolean True | progressive | Create progressive JPEG images
| Boolean False | grayscale | Create a grayscale (monochrome) image
| gegl:kuwahara
| Edge preserving blur
| Object | output | Output 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: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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String none | maker | Write lens maker correctly
| String none | Camera | Write camera name correctly
| String none | Lens | Write your lens model with majuscules
| Double 20.00 0.00-300.00 | focal | Calculate b value from focal
| Boolean True | center | If you want center
| Int 0 -inf - +inf | cx | Coordinates of lens center
| Int 0 -inf - +inf | cy | Coordinates of lens center
| Double 0.50 0.00-10.00 | rscale | Scale of the image
| Boolean True | correct | Autocorrect D values for lens correction models.
| Double 0.00 -1.00-1.00 | red-a | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | red-b | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | red-c | Correction parameters for each color channel
| Double 1.00 0.00-2.00 | red-d | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | green-a | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | green-b | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | green-c | Correction parameters for each color channel
| Double 1.00 0.00-2.00 | green-d | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | blue-a | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | blue-b | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | blue-c | Correction parameters for each color channel
| Double 1.00 0.00-2.00 | blue-d | Correction parameters for each color channel
| Double 0.00 -1.00-1.00 | alpha-a | Correction parameters for alpha channel
| Double 0.00 -1.00-1.00 | alpha-b | Correction parameters for alpha channel
| Double 0.00 -1.00-1.00 | alpha-c | Correction parameters for alpha channel
| Double 1.00 0.00-2.00 | alpha-d | Correction parameters for alpha channel
| gegl:lens-distortion
| Copies image performing lens distortion correction.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -100.00-100.00 | main | Main value of distortion
| Double 0.00 -100.00-100.00 | zoom | Main value of distortion
| Double 0.00 -100.00-100.00 | edge | Edge value of distortion
| Double 0.00 -100.00-100.00 | brighten | Brighten the image
| Double 0.00 -100.00-100.00 | x-shift | Shift horizontal
| Double 0.00 -100.00-100.00 | y-shift | Shift vertical
| gegl:levels
| Remaps the intensity range of the image
| Object | output | Output 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: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 | Output 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 | Output 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 rgb(0.0000, 0.0000, 0.0000) | color1 | One end of a agradient
| Color rgb(1.0000, 1.0000, 1.0000) | color2 | The other end of a 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:mandelbrot
| Mandelbrot set renderer
| Object | output | Output 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:mantiuk06
| Adapt an image, which may have a high dynamic range, for presentation using a low dynamic range. This operator constrains contrasts across multiple spatial frequencies, producing luminance within the range 0.0-1.0
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.10 0.00-1.00 | contrast | The amount of contrast compression
| Double 0.80 0.00-2.00 | saturation | Global colour saturation factor
| Double 1.00 1.00-99.00 | detail | Level of emphasis on image gradient details
| gegl:map-absolute
| sample input with an auxiliary buffer that contain absolute source coordinates
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Enum | sampler-type | Sampler used internaly
| gegl:map-relative
| sample input with an auxiliary buffer that contain relative source coordinates
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Double 1.00 0.00-5000.00 | scaling | scaling factor of displacement, indicates how large spatial displacement a relative mapping value of 1.0 corresponds to.
| Enum | sampler-type | Sampler used internaly
| gegl:matting-global
| Given a sparse user supplied tri-map and an input image, create a foreground alpha matte. Set white as foreground, black as background for the tri-map. Everything else will be treated as unknown and filled in.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Int 10 1- +inf | iterations | Number of iterations
| gegl:matting-levin
| Given a sparse user supplied tri-map and an input image, create a foreground alpha mat. Set white as selected, black as unselected, for the tri-map.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Int -6 -9--1 | epsilon | Log of the error weighting
| Int 1 1-3 | radius | Radius of the processing window
| Double 0.02 0.00-0.10 | threshold | Alpha threshold for multilevel processing
| Double 100.00 0.00-100.00 | lambda | Trimap influence factor
| Int 4 0-8 | levels | Number of downsampled levels to use
| Int 2 0-8 | active-levels | Number of levels to perform solving
| gegl:max-rgb
| Reduce image to pure red, green, and blue
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Boolean False | min | Hold the minimal values instead of the maximal values
| gegl:mblur
| Accumulating motion blur
| Object | output | Output 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:mirrors
| Applies mirroring effect on the image.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 0.00-180.00 | m-angle | Rotation applied to the mirrors
| Double 0.00 0.00-360.00 | r-angle | Rotation applied to the result
| Int 6 2-24 | n-segs | Number of mirrors to use
| Double 0.50 0.00-1.00 | c-x | X offset of the result of mirroring
| Double 0.50 0.00-1.00 | c-y | Y offset of the result of mirroring
| Double 0.00 -1.00-1.00 | o-x | X axis ratio for the center of mirroring
| Double 0.00 -1.00-1.00 | o-y | Y axis ratio for the center of mirroring
| Double 0.00 0.00-0.50 | trim-x | X axis ratio for trimming mirror expanse
| Double 0.00 0.00-0.50 | trim-y | Y axis ratio for trimming mirror expanse
| Double 100.00 0.10-100.00 | input-scale | Scale factor to make rendering size bigger
| Double 1.00 0.00-100.00 | output-scale | Scale factor to make rendering size bigger
| Boolean True | clip | Clip result to input size
| Boolean True | warp | Fill full output area
| gegl:mono-mixer
| Monochrome channel mixer
| Object | output | Output 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:motion-blur
| Linear motion blur
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 10.00 0.00-1000.00 | length | Length of blur in pixels
| Double 0.00 -360.00-360.00 | angle | Angle of blur in degrees
| gegl:multiply
| Math operation multiply (c = c * value)
| Object | output | Output 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| gegl:noise-reduction
| Anisotropic like smoothing operation
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| int 4 0-32 | iterations | How many iteratarions to run the algorithm with
| gegl:noise-spread
| Noise spread filter
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 5 0-256 | x-amount | Horizontal spread amount
| Int 5 0-256 | y-amount | Vertical spread amount
| gegl:nop
| No operation (can be used as a routing point)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:opacity
| Weights the opacity of the input both the value of the aux input and the global value property.
| Object | output | Output 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 | Output pad for generated image buffer.
| String | path | a GeglBuffer on disk to open
| gegl:path
| Renders a brush stroke
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Color rgba(0.0000, 0.0000, 0.0000, 0.6000) | fill | Color of paint to use for filling, use 0 opacity to disable filling
| Color rgba(0.0000, 0.0000, 0.0000, 0.0000) | 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 the brush, 0.0 for a soft brush, 1.0 for a 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 | Output 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 | Output pad for generated image buffer.
| Pointer | pixbuf | GdkPixbuf to use
| gegl:pixelize
| Simplify image into an array of solid-colored squares
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| int 16 1-123456 | size-x | Width of blocks in pixels
| int 16 1-123456 | size-y | Height of blocks in pixels
| gegl:plasma
| Performs plasma effect on the image
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int -1 -1- +inf | seed | Random seed. Passing -1 implies that the seed is randomly chosen.
| Double 1.00 0.10-7.00 | turbulence | The value of the turbulence
| 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:polar-coordinates
| Performs polar-coordinates on the image.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 100.00 0.00-100.00 | depth | Circle depth in percent
| Double 0.00 0.00-359.90 | angle | Offset angle.
| Boolean False | bw | Start from the right instead of the left
| Boolean True | top | Put the top row in the middle and the bottom row on the outside
| Boolean True | polar | Map the image to a circle
| Int 0 0- +inf | pole-x | Origin point for the polar coordinates
| Int 0 0- +inf | pole-y | Origin point for the polar coordinates
| Boolean True | middle | Let origin point to be the middle one
| gegl:posterize
| Reduces the number of levels in each color component of the image.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| int 8 1-64 | levels | number of levels per component
| gegl:ppm-save
| PPM image saver (Portable pixmap saver.)
| Object | input | Input pad, for image buffer input.
| String | path | Target path and filename, use '-' for stdout.
| Boolean True | rawformat | Raw format
| Int 16 8-16 | bitdepth | 8 and 16 are amongst the currently accepted values.
| gegl:radial-gradient
| Radial gradient renderer
| Object | output | Output 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 rgb(0.0000, 0.0000, 0.0000) | color1 | One end of gradient
| Color rgb(1.0000, 1.0000, 1.0000) | 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 rgb(1.0000, 1.0000, 1.0000) | color | Color to render
| gegl:red-eye-removal
| Performs red-eye-removal on the image
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.40 0.00-0.80 | threshold | The value of the threshold
| gegl:reflect
| Object | output | Output 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, lohalo)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of the 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:reinhard05
| Adapt an image, which may have a high dynamic range, for presentation using a low dynamic range. This is an efficient global operator derived from simple physiological observations, producing luminance within the range 0.0-1.0
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -100.00-100.00 | brightness | Overall brightness of the image
| Double 0.00 0.00-1.00 | chromatic | Adapation to colour variation across the image
| Double 1.00 0.00-1.00 | light | Adapation to light variation across the image
| gegl:remap
| stretch components of pixels individually based on luminance envelopes
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| Object | aux2 | Second auxiliary image buffer input pad.
| gegl:rgbe-save
| RGBE image saver (Radiance HDR format)
| Object | input | Input pad, for image buffer input.
| String | path | Target path and filename, use '-' for stdout.
| gegl:ripple
| Transform the buffer with a ripple pattern
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 25.00 0.00-1000.00 | amplitude | Amplitude of the ripple
| Double 200.00 0.00-1000.00 | period | Period of the ripple
| Double 0.00 -1.00-1.00 | phi | Phase shift
| Double 0.00 -180.00-180.00 | angle | Angle in degree
| Enum | sampler-type | Sampler used internally
| Enum | wave-type | Type of wave
| gegl:rotate
| Rotate the buffer around the specified origin.
| Object | output | Output 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, lohalo)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of the Lanczos function
| Double 0.00 -inf - +inf | degrees | Angle to rotate (clockwise)
| gegl:save
| Multipurpose file saver, that uses other native handlers.
| Object | input | Input pad, for image buffer input.
| FilePath | path | Path of file to save.
| 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 | Output 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, lohalo)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of the Lanczos function
| Double 1.00 -inf - +inf | x | Horizontal scale factor
| Double 1.00 -inf - +inf | y | Vertical scale factor
| gegl:sdl-display
| Displays the input buffer in an SDL window (restricted to one display op/process, due to SDL implementation issues).
| 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:shear
| Shears the buffer
| Object | output | Output 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, lohalo)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of the Lanczos function
| Double 1.00 -inf - +inf | x | Horizontal shear amount
| Double 1.00 -inf - +inf | y | Vertical shear amount
| gegl:snn-mean
| Noise reducing edge enhancing blur filter based on Symmetric Nearest Neighbours
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| int 8 0-100 | 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 | Output 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 | Output 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 | Output 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 | Output 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| int 300 2-5000 | radius | Neighborhood taken into account, for enhancement ideal values are close to the longest side of the image, increasing this increases the runtime
| int 5 2-200 | samples | Number of samples to do per iteration looking for the range of colors
| int 5 1-200 | iterations | Number of iterations, a higher number of iterations provides a less noisy rendering at a computational cost
| 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:subtract
| Math operation subtract (c = c - value)
| Object | output | Output 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 | Output 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | values | list of s
| gegl:svg-load
| Load an SVG file using librsvg
| Object | output | Output 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | values | list of s
| gegl:svg-matrix
| SVG color matrix operation svg_matrix
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | values | list of s
| gegl:svg-multiply
| SVG blend operation svg-multiply (`d = cA * cB + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Output 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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| String | values | list of s
| gegl:text
| Display a string of text using pango and cairo.
| Object | output | Output 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 rgb(0.0000, 0.0000, 0.0000) | 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 | Output 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:transform
| Transforms the group (used by svg).
| Object | output | Output 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, lohalo)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of the Lanczos function
| String | transform | Transformation string
| gegl:translate
| Repositions the buffer (with subpixel precision), if integer coordinates are passed a fast-path without resampling is used
| Object | output | Output 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, lohalo)
| Boolean False | hard-edges | Hard edges
| Int 3 3-6 | lanczos-width | Width of the Lanczos function
| Double 1.00 -inf - +inf | x | Horizontal translation
| Double 1.00 -inf - +inf | y | Vertical translation
| gegl:unpremul
| Unpremultiplies a buffer that contains pre-multiplied colors (but is marked as not having it)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| 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-500.00 | std-dev | Standard deviation (spatial scale factor)
| Double 1.00 0.00-100.00 | scale | Scale, strength of effect
| gegl:value-invert
| Inverts just the value component, the result is the corresponding `inverted' image.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| gegl:vector-stroke
| Renders a vector stroke
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Color rgba(0.0000, 0.0000, 0.0000, 0.0000) | color | Color of paint to use for stroking.
| Double 2.00 0.00-200.00 | width | The width of the brush used to stroke the path.
| Double 1.00 -2.00-2.00 | opacity | Opacity of stroke, note, does not behave like SVG since at the moment stroking is done using an airbrush tool.
| String | transform | svg style description of transform.
| Path | d | A GeglVector representing the path of the stroke
| gegl:vignette
| A vignetting op, applies a vignette to an image. Simulates the luminance fall off at edge of exposed film, and some other fuzzier border effects that can naturally occur with analoge photograpy.
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Int 0 0-2 | shape | Shape to use: 0=circle 1=diamond 2=square
| Color rgb(0.0000, 0.0000, 0.0000) | color | Defaults to 'black', you can use transparency here to erase portions of an image
| Double 1.50 0.00-3.00 | radius | How far out vignetting goes as portion of half image diagonal
| Double 0.80 0.00-1.00 | softness | Softness
| Double 2.00 1.00-20.00 | gamma | Falloff linearity
| Double 1.00 0.00-1.00 | proportion | How close we are to image proportions
| Double 0.00 -1.00-1.00 | squeeze | Aspect ratio to use, -0.5 = 1:2, 0.0 = 1:1, 0.5 = 2:1, -1.0 = 1:inf 1.0 = inf:1, this is applied after proportion is taken into account, to directly use squeeze factor as proportions, set proportion to 0.0.
| Double 0.50 -1.00-2.00 | x | Horizontal center of vignetting
| Double 0.50 -1.00-2.00 | y | Vertical center of vignetting
| Double 0.00 0.00-360.00 | rotation | Rotation angle
| gegl:warp
| Compute a relative displacement mapping from a stroke
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 50.00 0.00-100.00 | strength | Effect Strength
| Double 40.00 1.00-10000.00 | size | Effect Size
| Double 0.50 0.00-1.00 | hardness | Effect Hardness
| Path | stroke | Effect Strength
| Enum | behavior | Behavior of the op
| gegl:waves
| Transform the buffer with waves
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 0.00 -inf - +inf | x | X coordinate of the center of the waves
| Double 0.00 -inf - +inf | y | Coordinate y of the center of the waves
| Double 25.00 0.00-1000.00 | amplitude | Amplitude of the ripple
| Double 200.00 0.00-1000.00 | period | Period of the ripple
| Double 0.00 -1.00-1.00 | phi | Phase shift
| Enum | sampler-type | Sampler used internally
| gegl:weighted-blend
| blend two images using alpha values as weights
| Object | output | Output 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:whirl-pinch
| Applies whirling and pinching on the image
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Double 90.00 -inf - +inf | whirl | Whirl angle (degrees)
| Double 0.00 -1.00-1.00 | pinch | Pinch amount
| Double 1.00 0.00-2.00 | radius | Radius (1.0 is the largest circle that fits in the image, and 2.0 goes all the way to the corners)
| gegl:write-buffer
| A GEGL buffer destination surface.
| Object | input | Input pad, for image buffer input.
| Object | buffer | Write to an existing GeglBuffer
| svg:clear
| Porter Duff operation clear (d = 0.0f)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg: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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg: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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:darken
| SVG blend operation darken (`d = MIN (cA * aB, cB * aA) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:difference
| SVG blend operation difference (`d = cA + cB - 2 * (MIN (cA * aB, cB * aA))`)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:dst
| Porter Duff operation dst (d = cB)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:dst-atop
| Porter Duff operation dst-atop (d = cB * aA + cA * (1.0f - aB))
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:dst-in
| Porter Duff operation dst-in (d = cB * aA)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:dst-out
| Porter Duff operation dst-out (d = cB * (1.0f - aA))
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:dst-over
| Porter Duff operation dst-over (d = cB + cA * (1.0f - aB))
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:exclusion
| SVG blend operation exclusion (`d = (cA * aB + cB * aA - 2 * cA * cB) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg: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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:lighten
| SVG blend operation lighten (`d = MAX (cA * aB, cB * aA) + cA * (1 - aB) + cB * (1 - aA)`)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg: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 | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:plus
| SVG blend operation plus (`d = cA + cB`)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:screen
| SVG blend operation screen (`d = cA + cB - cA * cB`)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:src
| Porter Duff operation src (d = cA)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:src-atop
| Porter Duff operation src-atop (d = cA * aB + cB * (1.0f - aA))
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:src-in
| Porter Duff operation src-in (d = cA * aB)
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:src-out
| Porter Duff operation src-out (d = cA * (1.0f - aB))
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:src-over
| Porter Duff operation over (d = cA + cB * (1 - aA))
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.
| svg:xor
| Porter Duff operation xor (d = cA * (1.0f - aB)+ cB * (1.0f - aA))
| Object | output | Output pad for generated image buffer.
| Object | input | Input pad, for image buffer input.
| Object | aux | Auxiliary image buffer input pad.