|On this page|
This operation performs a mathematical function on the input image. The operations available are:
Abs(x) - Absolute Value. Makes all negative values positive
Sign(x) - Sign function. Returns 1 if positive, -1 if negative or 0 if zero
-x - Negate
1/x - Reciprocal*
Floor(x) - Rounds down all fractional values to the next lower integer
Round(x) - Rounds all fractional values to the nearest integer
Ceil(x) - Rounds down fractional values to the next higher integer
Sqrt(x) - Square Root**
x^E - Raises the value to an exponent, given by the exponent parameter (may produce errors if E is fractional and x is negative)
B^x - Raises the base to the exponent 'value' (may produce errors if base is negative and value is fractional)
e^x - Computes e^x, where e is 2.7182…
Log(x) - Computes Log (base B) of the value. B is defined by the 'Base' parameter *
Ln(x) - Computes the Natural Log (base e) of the value *
Sin(x) - Computes the sine of x (x is in degrees)
Sin(360x) - Computes the sine of (x times 360), which is easy to use with 0-1 values (x is in degrees/360)
Cos(x) - Computes the cosine of x (x is in degrees)
Cos(360x) - Computes the cosine of (x times 360) (x is in degrees)
Tan(x) - Computes the tangent of x (x is in degrees). Produces a mathematical error for values of 90, -90, 270, -270
Tan(360x) - Computes the tangent of x times 360 (x is in degrees). Produces a mathematical error for values of 0.25, -0.25, 0.75, -0.75
ASin(x) - Computes the arcsine of x, returning the result in degrees. Produces a mathematical error if x is greater than 1 or less than -1
ASin(x)/360 - Computes the arcsine of x, returning the result in the range -1 to 1. Produces a mathematical error if x is greater than 1 or less than -1
ACos(x) - Computes the arccosine of x, returning the result in degrees. Produces a mathematical error if x is greater than 1 or less than -1
ACos(x)/360 - Computes the arccosine of x, returning the result in the range -1 to 1. Produces a mathematical error if x is greater than 1 or less than -1
ATan(x) - Computes the arctangent of x, returning the result in degrees
ATan(x)/360 - Computes the arctangent of x, returning the result in the range -1 to 1
Sinh(x) - Computes the hyperbolic sine of x
Sinh(360x) - Computes the hyperbolic sine of (x times 360)
Cosh(x) - Computes the hyperbolic cosine of x
Cosh(360x) - Computes the hyperbolic cosine of (x times 360)
Tanh(x) - Computes the hyperbolic tangent of x
Tanh(360x) - Computes the hyperbolic tangent of (x times 360)
x is the input pixel value.
- Produces a mathematical error if the value is zero. See the 'Error Handling' parameter.
- Produces a mathematical error if the value is negative. See the 'Error Handling' parameter.
This operator help is not meant to be an exhaustive tutorial on mathematical functions.
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.
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. 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.
Collapsible Pixel Operation
This is a collapsible pixel operation. When placed in sequence with other collapsible pixel operations, the operations are combined into one operation at the final node in the pixel operation sequence. This is known as a collapsible pixel operation chain.
Image data flowing through the chain is only quantized at the end of the chain. This allows the intermediate operations to produce and carry values outside the normal range of the pixels' data format, with floating point precision. The net result of this is a reduction in quantization error and black/white clipping (especially useful for integer formats).
Collapsible pixel operations are recognizable by the light blue background color of the node’s icon. If a node of a different color is inserted between two collapsible COPs, the chain will be broken at that point and the operations will not collapse anymore.
Collapsible pixel operations are maskable and scopable. If one operation in the chain is masked, but the others are not (or do not share the same mask), the chain will be 'broken' at that point and quantization will occur at that node. Differences in scoping does not cause a break in the chain.
The math function to perform.
The base for LogX and B^x.
The exponent for x^E.
On a math error, the value causing the error can be replaced with an error value or kept as is.
The value to replace errors with.
Collapsible Pixel Operation Parameters
Collapsible pixel operations can be combined with other collapsible pixel operations and have the result computed in one pass, rather than at each node. The operations must be in sequence, without other nodes between them.
Do Operation in Unpremultiplied Space
The Color plane will the divided by the input alpha, and multiplied by the output alpha so that the color operation is done in unpremultiplied space. If this operation is in a collapsible chain, all the nodes in the chain must have the same setting of this parameter to avoid breaking the chain and quantizing.
If this node is in the middle of a collapsible pixel chain, you can force this node to quantize and store the images at this node.
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.
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.
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
Useful for masking the operation to the image’s own alpha plane.
Selects the mask from the side mask input.
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.
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.
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.
P N.x N.y P N Pz
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 are scoped.
All frames inside a subrange are scoped.
All frames outside a subrange are scoped.
Even numbered frames are scoped.
Odd numbered frames are scoped.
A user-defined list of frames are scoped.
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).
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).
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).
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.
Start of sequence
End of sequence
Input sequence length
Sequence frame rate
Number of planes in sequence
Width and height of image
Image index (0 at start frame)
Image time (0 at start frame)
Current plane array index
Current plane index
Num of channels in current plane
Composite Project X resolution
Composite Project Y resolution
Composite Project pixel aspect ratio
Composite Project raster depth
Composite Project black point
Composite Project white point