Denoiser

 

The Arnold denoiser is a stand-alone program post process denoiser executable. It works on EXR files with multiple layers (i.e. with merge AOVs enabled) and outputs an EXR file with the denoised layers. It takes into account multiple frames and multiple light AOVs. It requires that the parameter "Output Variance AOVs" is enabled in the render settings (in AOVs -> Denoise). Like most denoisers, it considers a neighborhood around the current pixel and looks for similar neighborhoods inside a given search area to blend together.

To use the Arnold denoiser, you will need to render images via the Arnold EXR driver with variance AOVs enabled.

Input

The path to the image or image sequence to be denoised. Use # characters in the path to define an image sequence (for example: /path/to/myscene_####.exr).

The Arnold denoiser can denoise input images rendered via an EXR driver with specific settings. To create the driver open the Input field and click on Create EXR driver, or go to Plugins > C4DtoA > Arnold Driver > EXR driver for Arnold denoiser.

Output

Set the beauty output file path. The output file will include the denoised layers with the same names as the original layers. For each file, a new one is saved, for example, postfixed by '_Noice_Output' (the denoised images).

Note that the file output size differs from the input files because only the main RGBA layers are saved (without the auxiliary AOVs).

Frame Range

Choose to render the complete Sequence, a single frame or a frame range (e.g. 1 to 10). 

  • Complete sequence: Denoise all frames of the given image sequence.

  • Single frame: Denoise only a single frame of the image sequence, specified in Start Frame.
  • Start/End Frame range: Denoise the given frame range, specified in Start Frame and End Frame.

Start Frame

Set the sequence start value.

End Frame

Set the sequence end value.

Temporal Stability Frames

The number of extra images to be used for temporal stability. Multiple additional frames can be specified to increase temporal stability (for instance render.002.exr, render.001.exr, render.003.exr).

Variance

The strength of the filter is determined by the variance parameter, the higher the variance the more forceful the denoising will be. For variance maybe 0.25 / 0.5 (the default) / 0.75 are good low/min/max values.
How aggressive noice is in removing noise can be controlled by setting a variance threshold with the command line argument -variance (-v). The default value is 0.5, higher values will make the denoising more aggressive by considering similar neighborhoods that have bigger color disparities.

Pixel Search Radius

This is the area over which similar neighborhoods are found. The higher the better, but it will increase the cost of denoising. For every pixel noice will search a square area with a radius set with the command line argument -searchradius (-sr). The bigger this area the bigger the denoising stability and the higher the chance that similar neighborhoods to be considered will be found. The default value is 9, which gives a 19x19 square neighborhood. Setting it to 21 (a search window of 42 x 42) will look over a pixel area equivalent to loading 5 frames. 

Pixel Patch Radius

This increases the softness of the denoising (while always preserving the features). The default is 3 (on the big side), but a low value would be maybe 0 or 1, middle 3 and high 5.

For every pixel noice will consider its neighborhood patch and look for other pixels with similar neighborhood patches. The radius of this neighborhood can be controlled with the -patchradius (or -pr) command line argument. The default value is set to 3, which gives a 7x7 square neighborhood.

Light AOV Names

Additional light AOVs to be co-denoised can be specified.

Read Available AOVs 

Reads the layers of the EXR and sets the Light group AOVs field.

Autodetect Threads

Use an optimal number of threads based on the number of hardware processing cores.

Threads

If autodetect is disabled, this will let you manually set the number of threads used by the denoiser. Negative numbers are also allowed. If specifying 0 threads means use all cores on a machine, then negative numbers can mean use all but that many cores. For example, threads=-2 means use all but two cores, while threads=2 means only use two cores. This is useful when you want to leave one or two cores for other tasks. One example of this is so that Cinema 4D can be more responsive while the images are denoised in the background.

 

  • No labels