Denoise
compositing node
Removes white noise from an image.
See also: Blur, Degrain, Median
Denoise attempts to remove noise in an image by reducing curvature in the image height field.
This process is slow. In many cases, the other noise suppression tools (Median, Degrain, and Blur) will suffice at a fraction of the speed.
The result is the removal of high frequency specks. However, unlike a blur, sharp edges can be maintained. Note that fine texture detail will be treated as noise and suppressed.
An interesting painterly effect can be achieved by first adding white noise to an image using the Noise COP and then applying a few dozen iterations of Denoise.
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
Denoise
|
Iterations |
Governs the number of rounds of denoising that will be performed on the image. Running time is proportional to the number of rounds. Additional iterations will increase the removal of noise at the expense of losing more fine detail. |
|
Diffuse |
A scale factor for the amount of diffusion to apply in each round of iteration. The total amount of diffusion will thus be this times the Iterations. However, if this is made too large, the process can become unstable and not converge to a good result. |
|
Full Sequence |
Instead of operating on a single frame, perform the denoise calculation across the entire sequence. This requires the entire sequence be loaded into memory and processed at once, so may be infeasible for large images or long sequences. This will result in greater frame-to-frame coherency of the resulting denoising. An internal cache is generated for each image plane (such as C or A) so denoised. To save out the result in a file ROP it is recommended to only save one plane at a time so the cache can be used. |
|
Pixel Size |
Acts as the conversion factor from pixel space into the three dimensional coordinates in which the denoising will occur. The relative magnitude of the pixel size is important, not the absolute values. This is primarily used for the Full Sequence mode to determine how far in Z one frame should be. Making the Z steps smaller or larger will affect the relative importance of temporal coherence versus spatial coherence. |
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 * MVector Mask ('C') C.r = I.r * M.r C.g = I.g * M.g C.b = I.b * M.b
|
||||||
|
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).
|
||||||||||||
|
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 |
|---|