SATBlur

A blur node implemented using Summed Area Tables, which allows for very efficient large and variable radius blurs with rectangular kernels. In order to be more widely useful, we also support approximating a disk filter.

Also includes some advanced features for depth layering, which is useful as a building block for FocalBlur.

user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

out

The output image generated by this node.

enabled

Turns the node on and off.

in

The input image

radius

The radius to blur by in pixels. This can be varied independently in the x and y directions, and fractional values are supported for fine control.

radiusChannel

An optional input image channel which defines a blur radius per pixel, allowing the radius to be varied across the image. The per-pixel radius is multiplied with the main radius control.

maxRadius

An upper limit on the radius (radiusChannel * radius). Larger radii will be clamped to this size. Used to accelerate rendering, so higher-than-necessary settings may reduce speed.

boundingMode

The method used when a filter references pixels outside the input data window.

filter

The filter used to blur. A box filter is supported exactly by the summed area table evaluation, whereas a disk must be approximated via some number of rectangles.

diskRectangles

When using a disk filter, the shape of the disk is approximated as some number of rectangles. More rectangles give a more accurate shape, but take longer to evaluate. Note that even numbers do not have an effect - due to symmetry across the center of the disk, the most effective way to use 4 rectangles is an identical shape to using 3 rectangles - you must use at least 5 in order to increase quality.

layerBoundaries

Separates the source into layers, based on the depth defined in depthChannel. When filtering a result, only contributions with a depth greater than depthLookupChannel are included. This is pretty specifically intended as a component of the infilling algorithm for FocalBlur

  • it allows for infilling which fills in using background colors, but doesn’t smear out the foreground.

The way this parameter is specified is the same as DiskBlur :

The layers are defined by the radius values at their boundaries, which must be specified from low to high. Negative radii are accepted, allowing blurring to be represented both in front of and behind a focal plane. A reasonable value is therefore an exponential series from -maxRadius to +maxRadius, for example [ -32, -16, -8, -4, -2, -1, 1, 2, 4, 8, 16, 32 ]

depthChannel

Defines the depth of source pixels when doing a multi-layer SATBlur.

depthLookupChannel

Defines the depth to read at when doing a multi-layer SATBlur. Source pixels in front of this value for each pixel will be ignored.