Convolve compositing node

Performs a generic convolve on the source image.

All Parameters Local variables

This operation performs a generic convolve on the source image. The convolve kernel can be supplied as either the second input, or through the matrix parameters.

When using a second input as a kernel source, it should be a small image (no bigger than 50×50). Otherwise the cook time for the node will be incredibly long.

Usage

A convolve kernel provides a simple way to do a weighted sum of neighboring pixels. The matrix of numbers represents the contributions of each pixel to the output pixel. The center pixel corresponds to the position of the output pixel being processed.

If a kernel matrix is unbalanced in any direction (not symmetric) the output image will shift. Also, if the kernel weights do not sum to 1, the output image will either brighten or darken. The parameter 'Normalize Kernel' can be used to automatically fit the weights so that they sum to 1.

Some sample kernels (3×3):

0.11 0.11 0.11
0.11 0.11 0.11         3x3 Box blur
0.11 0.11 0.11
-0.125 -0.125 -0.125
-0.125    2   -0.125   Sharpen
-0.125 -0.125 -0.125
0   0   0
-1  0   1              Horizontal Edge Detect
0   0   0

Scoping

This operation may be restricted to certain planes, or components of planes. In addition, the operation may be applied to a subset of frames within the sequence. An image must have both its frame and plane scoped to be modified.

Images that are not modified are passed through, which does not take any memory or processing time.

Masking

This operation may be masked, which restricts the operation to an area of the image. The mask may be inverted, brightened or dimmed.

The mask input is on the side of the node. The label on the connector indicates the plane being used as a mask.

The mask input can also be scaled to fit the output image’s resolution, if they differ. However, if this node changes more often than the mask input, it is faster to place a Scale COP in front of the mask input to do the resize, as the resize will not occur on every cook of this node.

Parameters

Kernel Size

The size of the convolve kernel matrix to use.

-4..0..4

The rows of the kernel matrix. The matrix is always centered in the middle of the 9×9 set of parameters. In the case of an even size, the matrix will extend further down, or to right.

Kernel Plane

Which plane of the second input to use as the kernel matrix.

Normalize Kernel

Scales each component of the kernel to ensure that the absolute value of the sum of the components is 1. This has no effect if the components sum to 0.

Mask

A mask can be chosen to limit the effect of the operator to areas defined by the mask. The mask can be taken from the mask input (side input) or from the first input itself.

Effect Amount

If no mask is present, this blends the output with the input by a constant amount (0 = all input, 1 = all output).

If a mask is present, this amount multiplies the mask.

Operation Mask

Selects the mask plane to use as a mask from the mask input. The mask can be selected from:

A mask can be a component of a plane or an entire plane. If a vector plane is supplied as a mask, its components are multiplied by the images' components.

Scalar Mask ('A', 'C.r')

C.r = I.r * M
C.g = I.g * M
C.b = I.b * M

Vector Mask ('C')

C.r = I.r * M.r
C.g = I.g * M.g
C.b = I.b * M.b

First Input

Useful for masking the operation to the image’s own alpha plane.

Mask Input

Selects the mask from the side mask input.

Off

Turns off masking, without requiring disconnection of the mask input (useful for temporarily disabling the mask).

Resize Mask to Fit Image

If the mask image is a different resolution than the output image, turning on this parameter will scale the mask to the output image’s resolution.

If this node is changing constantly, and the mask is not, it is somewhat faster to put a Scale COP down to do the resize for the mask image. Otherwise, the scale will occur every time this node cooks.

Invert Mask

Inverts the mask so that all fully 'masked' portions become unmasked. This saves you from inserting an Invert COP after the node with the mask.

Scope

Plane Scope

Specifies the scope for both the RGB components of Color, Alpha, and other planes. The (C)RGBA mask only affects Color components and Alpha. 'C' will toggle all the RGB components.

For planes other than Color and Alpha, the plane name (plus component, if applicable) should be specified in the string field. The pulldown menu can be used to select planes or components present in this node.

A plane is specified by its name. A component is specified by both its plane and component name. The '*' wildcard may be used to scope all extra planes. Any number of planes or components can be specified, separated by spaces.

Examples:

P
N.x N.y
P N Pz

Frame Scope

Frame Scope

Allows scoping of specific frames in the frame range. This is in addition to the plane scope (so a plane at a certain frame must be both plane scoped and frame scoped to be modified).

All Frames

All frames are scoped.

Inside Range

All frames inside a subrange are scoped.

Outside Range

All frames outside a subrange are scoped.

Even Frames

Even numbered frames are scoped.

Odd Frames

Odd numbered frames are scoped.

Specific Frames

A user-defined list of frames are scoped.

Frame Range

For Inside/Outside range, this parameter specifies the subrange of the sequence to scope (or unscope). This can be edited in Timeline viewer mode ( Ctrl + 2 in viewer).

Frame Dropoff

For Inside/Outside Range, this parameter specifies certain number of frames before and after to slowly ramp up to scoped. The operation will be blended with its input to 'ease in' or 'ease out' the scoping effect over a number of frames. This can be edited in Timeline viewer mode ( Ctrl + 2 in viewer).

Non-scoped Effect

For unscoped frames, this sets the blend factor between the input and modified images. Normally this is zero (use the input image). By setting this to a non-zero value, you can make unscoped frames be 'slightly' unscoped. The value can vary between 0 (unscoped) and 1 (scoped).

Frame List

The frame list for 'Specific Frames'. Frame numbers should be separated by spaces.

Automatically Adjust for Length Changes

If the sequence range changes, enabling this parameter will adjust the subrange and frame dropoff lengths to fit the new range.

Local variables

L

Sequence length

S

Start of sequence

E

End of sequence

IL

Input sequence length

SR

Sequence frame rate

NP

Number of planes in sequence

W,H

Width and height of image

I

Image index (0 at start frame)

IT

Image time (0 at start frame)

AI

Current plane array index

PI

Current plane index

PC

Num of channels in current plane

CXRES

Composite Project X resolution

CYRES

Composite Project Y resolution

CPIXA

Composite Project pixel aspect ratio

CDEPTH

Composite Project raster depth

CBP

Composite Project black point

CWP

Composite Project white point

Usages in other examples

Example name Example for