JOS JOS Compositor

Node reference

Color nodes

Channel Crosstalk

Type name: CCrosstalk (scripts, MCP and Nuke import use it).

Each colour channel gets curves of the other two added.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgb rgba, rgb, alpha, all The channels the node changes; the others pass through.
crossover red_to_green {} red_to_blue {} green_to_red {} green_to_blue {} blue_to_red {} blue_to_green {} Six curves, one per pair of channels: red_to_green adds a curve of red to green, and so on. A flat 0 curve changes nothing.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

ColorCorrect

Saturation, contrast, gamma, gain and offset for the whole image (master) and for its shadows, midtones and highlights (ranges from the luminance).

Inputs: input, mask (optional).

Setting Default Range or choices What it does
saturation 1 0 to 4 Colour strength: 0 grey, 1 unchanged, above 1 more vivid, across the whole picture.
contrast 1 0 to 4 Contrast about mid grey (0.18): above 1 more, below 1 less, across the whole picture.
gamma 1 0.2 to 5 Gamma: above 1 brightens the mid tones, below 1 darkens them, across the whole picture.
gain 1 0 to 4 Multiplies the colour (1: unchanged), across the whole picture.
offset 0 -1 to 1 Adds to the colour (0: unchanged), across the whole picture.
shadows saturation 1 0 to 4 Colour strength: 0 grey, 1 unchanged, above 1 more vivid, in the shadows only.
shadows contrast 1 0 to 4 Contrast about mid grey (0.18): above 1 more, below 1 less, in the shadows only.
shadows gamma 1 0.2 to 5 Gamma: above 1 brightens the mid tones, below 1 darkens them, in the shadows only.
shadows gain 1 0 to 4 Multiplies the colour (1: unchanged), in the shadows only.
shadows offset 0 -1 to 1 Adds to the colour (0: unchanged), in the shadows only.
midtones saturation 1 0 to 4 Colour strength: 0 grey, 1 unchanged, above 1 more vivid, in the midtones only.
midtones contrast 1 0 to 4 Contrast about mid grey (0.18): above 1 more, below 1 less, in the midtones only.
midtones gamma 1 0.2 to 5 Gamma: above 1 brightens the mid tones, below 1 darkens them, in the midtones only.
midtones gain 1 0 to 4 Multiplies the colour (1: unchanged), in the midtones only.
midtones offset 0 -1 to 1 Adds to the colour (0: unchanged), in the midtones only.
highlights saturation 1 0 to 4 Colour strength: 0 grey, 1 unchanged, above 1 more vivid, in the highlights only.
highlights contrast 1 0 to 4 Contrast about mid grey (0.18): above 1 more, below 1 less, in the highlights only.
highlights gamma 1 0.2 to 5 Gamma: above 1 brightens the mid tones, below 1 darkens them, in the highlights only.
highlights gain 1 0 to 4 Multiplies the colour (1: unchanged), in the highlights only.
highlights offset 0 -1 to 1 Adds to the colour (0: unchanged), in the highlights only.
ranges shadow {} midtone {} highlight {} How much of each range a luminance gets (midtones: what the other two leave).
invert mask off Use 1 - the mask's alpha.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Colour Curves

Type name: ColorLookup (scripts, MCP and Nuke import use it).

Curves on the channels' values: master for all, then red, green, blue and alpha.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgba rgb, rgba, alpha, all rgb, rgba, alpha, all, or a layer (depth) or channel by name, as Nuke's.
lut master {} red {} green {} blue {} alpha {} The curves (value in -> value out); empty ones leave values as they are.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

ColorMatrix

R, G, B through a 3 x 3 matrix.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
red from r 1 -2 to 2 How much of the input's r goes into the output's red; each output is the sum of its row.
red from g 0 -2 to 2 How much of the input's g goes into the output's red; each output is the sum of its row.
red from b 0 -2 to 2 How much of the input's b goes into the output's red; each output is the sum of its row.
green from r 0 -2 to 2 How much of the input's r goes into the output's green; each output is the sum of its row.
green from g 1 -2 to 2 How much of the input's g goes into the output's green; each output is the sum of its row.
green from b 0 -2 to 2 How much of the input's b goes into the output's green; each output is the sum of its row.
blue from r 0 -2 to 2 How much of the input's r goes into the output's blue; each output is the sum of its row.
blue from g 0 -2 to 2 How much of the input's g goes into the output's blue; each output is the sum of its row.
blue from b 1 -2 to 2 How much of the input's b goes into the output's blue; each output is the sum of its row.
invert off Use the matrix's inverse.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

ColorTransfer

Moves the source's colours to the reference's (each channel's mean and spread).

Inputs: source, reference (optional), mask (optional).

Setting Default Range or choices What it does
channels rgb rgba, rgb, alpha, all The channels the node changes; the others pass through.
ROI_x 0 0 to 1000 Nuke's region of interest, kept for its scripts: ours measures the whole images.
ROI_y 0 0 to 1000 Nuke's region of interest, kept for its scripts: ours measures the whole images.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

ColorTransferWrapper

Moves the source's colours to the reference's (each channel's mean and spread).

Inputs: source, reference (optional), mask (optional).

Setting Default Range or choices What it does
channels rgb rgba, rgb, alpha, all The channels the node changes; the others pass through.
ROI_x 0 0 to 1000 Nuke's region of interest, kept for its scripts: ours measures the whole images.
ROI_y 0 0 to 1000 Nuke's region of interest, kept for its scripts: ours measures the whole images.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Colorspace

Converts R, G and B between transfer curves (Nuke's list: RGB is linear, sRGB, rec709, Cineon, AlexaV3LogC, SLog3...) and Nuke's colour models (HSV, HSL, YPbPr, YCbCr on sRGB-encoded values; CIE-XYZ, CIE-Yxy, CIE-Lab, CIE-LCH). The primaries don't change. Alpha and other channels pass through.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
input RGB 1.80, 2.20, 2.40, 2.60, rec709, sRGB, Cineon, RGB, HSV, HSL, YPbPr, YCbCr, CIE-XYZ, CIE-Yxy, CIE-Lab, CIE-LCH, Panalog, REDLog, ViperLog, AlexaV3LogC, PLogLin, SLog, SLog1, SLog2, SLog3, CLog, Log3G10, Log3G12, HybridLogGamma, Protune, BT1886, st2084, Blackmagic Film Generation 5, ARRILogC4 RGB is linear.
output RGB 1.80, 2.20, 2.40, 2.60, rec709, sRGB, Cineon, RGB, HSV, HSL, YPbPr, YCbCr, CIE-XYZ, CIE-Yxy, CIE-Lab, CIE-LCH, Panalog, REDLog, ViperLog, AlexaV3LogC, PLogLin, SLog, SLog1, SLog2, SLog3, CLog, Log3G10, Log3G12, HybridLogGamma, Protune, BT1886, st2084, Blackmagic Film Generation 5, ARRILogC4 RGB is linear.
invert mask off Use 1 - the mask's alpha.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Dither

Noise of a few code values to break banding.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels all rgba, rgb, alpha, all The channels the node changes; the others pass through.
amount 0.1 0 to 2 The noise's size in 8-bit code values (amount / 255).
monodither off The same noise in every channel. Off: each channel gets its own.
seed 1 0 to 100 Another number gives another random pattern.
static seed off The same noise on every frame. Off: it changes with the frame.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Exposure

Type name: EXPTool (scripts, MCP and Nuke import use it).

Exposure per channel, in stops, densities, printer lights or Cineon code values (Nuke's Exposure node).

Inputs: input, mask (optional).

Setting Default Range or choices What it does
mode Stops Stops, Lights, Densities, Cineon The units of red, green and blue: a density is 1/0.18 stops, a printer light 0.025 density, a Cineon code 0.002 density (Nuke's default is Densities).
red 0 -4 to 4 In the mode's units (stops: +1 doubles the light).
green 0 -4 to 4 In the mode's units (stops: +1 doubles the light).
blue 0 -4 to 4 In the mode's units (stops: +1 doubles the light).
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Expression

Computes channels per pixel from expressions of the pixel's position and colour.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
temp name 0 A name for a temporary value the expressions below can use.
temp expr 0 The temporary value's expression, worked out per pixel; it can use the temporaries before it. Unused without a name.
temp name 1 A name for a temporary value the expressions below can use.
temp expr 1 The temporary value's expression, worked out per pixel; it can use the temporaries before it. Unused without a name.
temp name 2 A name for a temporary value the expressions below can use.
temp expr 2 The temporary value's expression, worked out per pixel; it can use the temporaries before it. Unused without a name.
temp name 3 A name for a temporary value the expressions below can use.
temp expr 3 The temporary value's expression, worked out per pixel; it can use the temporaries before it. Unused without a name.
channel 0 R The channel this expression writes (added if the input lacks it).
expr 0 Per pixel: x, y, r, g, b, a, width, height, frame, Node.param, parent.param in a Nest, the temporaries; + - * / ^, comparisons, && || !, a ? b : c, sin, clamp, lerp... Empty: unchanged.
channel 1 G The channel this expression writes (added if the input lacks it).
expr 1 Per pixel: x, y, r, g, b, a, width, height, frame, Node.param, parent.param in a Nest, the temporaries; + - * / ^, comparisons, && || !, a ? b : c, sin, clamp, lerp... Empty: unchanged.
channel 2 B The channel this expression writes (added if the input lacks it).
expr 2 Per pixel: x, y, r, g, b, a, width, height, frame, Node.param, parent.param in a Nest, the temporaries; + - * / ^, comparisons, && || !, a ? b : c, sin, clamp, lerp... Empty: unchanged.
channel 3 A The channel this expression writes (added if the input lacks it).
expr 3 Per pixel: x, y, r, g, b, a, width, height, frame, Node.param, parent.param in a Nest, the temporaries; + - * / ^, comparisons, && || !, a ? b : c, sin, clamp, lerp... Empty: unchanged.
invert mask off Use 1 - the mask's alpha.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Grade

Nuke-style grade: maps blackpoint/whitepoint to black (lift)/white (gain), then multiply, add and gamma. Values are never clamped unless black_clamp / white_clamp are on.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgb rgb, rgba, alpha, all rgb, rgba, alpha, all, or a layer (depth) or channel by name, as Nuke's.
blackpoint 0 -1 to 1 The input value that becomes the lift (black), per channel.
whitepoint 1 0 to 4 The input value that becomes the gain (white), per channel.
lift 0 -1 to 1 What the blackpoint becomes, per channel.
gain 1 0 to 4 What the whitepoint becomes, per channel.
multiply 1 0 to 4 Multiplies the result, after the blackpoint/whitepoint mapping.
offset 0 -1 to 1 Added to the result, after the multiply.
gamma 1 0.2 to 5 (logarithmic) A power curve applied last (0 to 1); above 1 it continues as a straight line, as Nuke's.
reverse off Applies the inverse grade, undoing the same settings.
black clamp on Clamp results below 0. On by default, as in Nuke.
white clamp off Clamp results above 1.
invert mask off Use 1 - the mask's alpha.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

HSV Adjust

Type name: HSVTool (scripts, MCP and Nuke import use it).

Picks colours by hue, saturation and brightness ranges and changes them.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
source colour 0 0 to 1 Kept for scripts: Nuke's picker that fills the ranges.
destination colour 0 0 to 1 Kept for scripts: Nuke's picker that sets the changes.
hue from 0 0 to 360 Start of the hue range picked, in degrees (0: red, 120: green, 240: blue); the range may wrap past 360.
hue to 360 0 to 360 End of the hue range picked, in degrees; from 0 to 360 picks every hue.
hue rotation 0 -180 to 180 Turns the hue of the picked colours by this many degrees.
hue rolloff 0 0 to 180 How many degrees outside the hue range the pick fades to nothing (0: a hard edge).
hue mask channel none Kept for scripts, not applied.
invert hue range off Picks the hues outside the range instead.
saturation from 0 0 to 1 Lowest saturation picked (0: grey, 1: fully saturated).
saturation to 1 0 to 1 Highest saturation picked.
saturation adjust 0 -1 to 1 Added to the saturation of the picked colours (or the saturation they move to, with set saturation).
saturation rolloff 0 0 to 1 How far outside the saturation range the pick fades to nothing (0: a hard edge).
set saturation off On: saturation becomes the adjust value instead of adding to it.
saturation mask channel none Kept for scripts, not applied.
invert saturation range off Picks the saturations outside the range instead.
brightness from 0 0 to 1 Lowest brightness picked (the largest of r, g and b).
brightness to 1 0 to 1 Highest brightness picked.
brightness adjust 0 -1 to 1 Added to the brightness of the picked colours (or the brightness they move to, with set brightness).
brightness rolloff 0 0 to 1 How far outside the brightness range the pick fades to nothing (0: a hard edge).
set brightness off On: brightness becomes the adjust value instead of adding to it.
brightness mask channel none Kept for scripts, not applied.
invert brightness range off Picks the brightnesses outside the range instead.
range to channel A The channel the selection is written to (none: not written).
selection hue hue, saturation, brightness, min(hue,sat), min(hue,brt), min(sat,brt), all Which ranges' pick is written to the range to channel: one of them, the smaller of two, or all three (the smallest).
invert selection off Writes 1 minus the selection to the range to channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Equalize

Type name: HistEQ (scripts, MCP and Nuke import use it).

Histogram equalisation: spreads the image's values evenly over 0..1.

Inputs: input.

Setting Default Range or choices What it does
bins 4096 16 to 65536 Histogram bins over 0..1.

Hue Curves

Type name: HueCorrect (scripts, MCP and Nuke import use it).

Corrections by hue: saturation, luminance, channel gains and spill suppression as curves over the hue.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
hue sat {} lum {} red {} green {} blue {} r_sup {} g_sup {} b_sup {} sat_thrsh {} Curves over the hue (0 magenta, 1 red, 2 yellow ... 6 magenta again); empty ones change nothing.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Hue Rotate

Type name: HueShift (scripts, MCP and Nuke import use it).

Turns colours round the grey axis, with saturation overall and along one colour.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
input grey 0.25 0 to 1 Kept for Nuke scripts (no effect in Nuke 16, measured).
output grey 0.25 0 to 1 Kept for Nuke scripts (no effect in Nuke 16, measured).
saturation 1 0 to 4 Scales colours away from grey, keeping their luminance: 0 is grey, 1 no change.
colour 1 0 0 1 0 to 1 The direction color saturation acts along.
colour saturation 1 0 to 4 Scales saturation only along the colour's direction: 0 removes that colour and its opposite, 1 no change.
hue rotation 0 -180 to 180 Turns the hue round the grey axis, in degrees, keeping the luminance.
brightness 1 0 to 4 Multiplies the result.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Log ↔ Lin

Type name: Log2Lin (scripts, MCP and Nuke import use it).

Cineon log to linear (or back) with the film's black and white points and gamma.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
operation log2lin log2lin, lin2log log2lin turns Cineon log values into linear ones; lin2log goes back.
black 95 0 to 1023 The black code value (of 1023).
white 685 0 to 1023 The white code value (of 1023).
gamma 0.6 0.1 to 2 The film's gamma in the Cineon curve (0.6: Cineon's).
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Grade Match

Type name: MatchGrade (scripts, MCP and Nuke import use it).

Matches the source's grade to the target's as a CDL.

Inputs: source, target (optional), mask (optional).

Setting Default Range or choices What it does
channels rgb rgba, rgb, alpha, all The channels the node changes; the others pass through.
Task Match Graded Source Match Graded Source, Match Different Clip Nuke's task, kept for its scripts; ours fits the same match for both.
Analysis Analyze Reference Frames Analyze Reference Frames, Auto-analyze Per Frame Auto-analyze Per Frame: fit the CDL every frame from the source and target. Analyze Reference Frames: apply the stored slope, offset, power and saturation.
Apply Grade to Masked Region on Nuke's knob, kept for its scripts; not used: the mask limits the change as usual.
Output Matched Matched, Source, Target Matched: the graded source. Source or Target: that input unchanged, to compare.
Transform 3D LUT 3D LUT, CDL Ours is a CDL either way.
slope 1 0 to 2 Multiplies each colour channel (Analyze Reference Frames only).
offset 0 -1 to 1 Added to each colour channel after the slope (Analyze Reference Frames only).
power 1 0 to 2 Raises positive values to this power after the offset (Analyze Reference Frames only).
saturation 1 0 to 2 Scales the colour's distance from its luminance (Rec. 709 weights); 0 is grey (Analyze Reference Frames only).
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Min Colour

Type name: MinColor (scripts, MCP and Nuke import use it).

Adds pixeldelta to the channels (Nuke finds it by analysis: the darkest value brought to target).

Inputs: input.

Setting Default Range or choices What it does
analyse rgb The channels Nuke's analysis looks at.
modify all The channels changed: rgb, rgba, alpha or all.
target 0.095 0 to 1 The value Nuke's analysis brings the darkest value to (not run here: set pixel delta).
adjust Up Up, Down, Both Which way Nuke's analysis may move the values (not run here).
pixel delta 0 -1 to 1 Added to every value of the modified channels.

CDL

Type name: OCIOCDLTransform (scripts, MCP and Nuke import use it).

An ASC CDL: slope, offset and power per channel, then saturation (OCIO).

Inputs: input, mask (optional).

Setting Default Range or choices What it does
slope 1 0 to 2 Multiplies each colour channel.
offset 0 0 to 2 Added to each channel after the slope.
power 1 0 to 2 Raises each channel to this power after the offset.
saturation 1 0 to 2 Applied last: 0 is grey, 1 changes nothing.
invert off Apply the inverse of the CDL.
working space scene_linear The colour space the transform is done in (converted there and back).
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Colour Space

Type name: OCIOColorSpace (scripts, MCP and Nuke import use it).

Converts R, G and B from one OCIO colour space to another and tags the image with the new space. The viewer and Write follow that tag, so a converted image still displays and writes correctly. Alpha and other channels pass through unchanged.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
in Colour space of the input. Empty: the space the image is tagged with (normally the working space).
out Colour space to convert to. Empty: the working (scene_linear) space.
invert mask off Use 1 - the mask's alpha.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Display Transform

Type name: OCIODisplay (scripts, MCP and Nuke import use it).

Bakes an OCIO display and view (e.g. sRGB / Standard) into the image, as the viewer shows it, for writing viewable PNG/JPEG files or grading in display space. The result is tagged with the view's colour space, so the viewer does not apply the view twice. Viewer exposure and gamma are not baked. Invert runs it backwards: display-encoded pixels back to the "in" space (e.g. a look baked for one view, made to show the same through another); tone curves invert only within the display's range.

Inputs: input.

Setting Default Range or choices What it does
in Colour space of the input (inverted: of the output). Empty: the space the image is tagged with (inverted: the working space).
display OCIO display.
view OCIO view of the display.
invert off From the display/view back to the "in" colour space.

LUT

Type name: OCIOFileTransform (scripts, MCP and Nuke import use it).

Applies a LUT or colour correction file (.cube, .3dl, .cc, .ccc, .cdl, .spi1d, ...) through OCIO.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
file The LUT or correction file.
cccid Which correction of a .ccc collection (its id or index).
invert off Apply the file's inverse transform.
interpolation linear nearest, linear, tetrahedral, best How the LUT is sampled between its entries (OCIO's interpolation).
working space scene_linear The colour space the transform is done in (converted there and back).
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Log Convert

Type name: OCIOLogConvert (scripts, MCP and Nuke import use it).

Between the OCIO config's scene-linear and log (compositing_log) spaces.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
operation log to lin log to lin, lin to log log to lin: from the config's compositing_log role to scene_linear; lin to log: back.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Look

Type name: OCIOLookTransform (scripts, MCP and Nuke import use it).

Applies a look from the OCIO config (a grade it defines) between two colour spaces.

Inputs: input.

Setting Default Range or choices What it does
in Empty: the space the image is tagged with.
look The config's look (or several: +a, -b). Empty: unchanged.
direction forward forward, inverse forward applies the look; inverse undoes it.
out Empty: the in space.

Named Transform

Type name: OCIONamedTransform (scripts, MCP and Nuke import use it).

One of the OCIO config's named transforms, forward or inverse.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgb rgba, rgb, alpha, all The channels the node changes; the others pass through.
named transform The OCIO config's named transform to apply to the colour; empty: the input unchanged.
direction forward forward, inverse Apply the named transform forward, or its inverse.
key1 An OCIO context variable's name, as Nuke's; kept, not applied yet.
value1 The value of the context variable named beside it; kept, not applied yet.
key2 An OCIO context variable's name, as Nuke's; kept, not applied yet.
value2 The value of the context variable named beside it; kept, not applied yet.
key3 An OCIO context variable's name, as Nuke's; kept, not applied yet.
value3 The value of the context variable named beside it; kept, not applied yet.
key4 An OCIO context variable's name, as Nuke's; kept, not applied yet.
value4 The value of the context variable named beside it; kept, not applied yet.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Log ↔ Lin (Pines)

Type name: PLogLin (scripts, MCP and Nuke import use it).

Josh Pines' log curve, log to linear or back.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgb rgba, rgb, alpha, all The channels the node changes; the others pass through.
operation log to lin log to lin, lin to log Which way: log code values to linear, or linear to log.
linear reference value 0.18 0 to 1 The linear value that maps to the log reference value (0.18: mid grey).
log reference value 445 0 to 1023 The 10-bit log code value of the linear reference (445).
negative gamma 0.6 0 to 1 The film negative's gamma: the log curve's slope.
density per code value 0.002 0 to 0.01 The density each 10-bit code value stands for (0.002).
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Posterize

Reduces each channel to a number of levels.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels all rgb, rgba, alpha, all rgb, rgba, alpha, all, or a layer (depth) or channel by name, as Nuke's.
colours 16 2 to 64 How many levels each channel is reduced to (values above 1 are not clamped).
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Soft Contrast

Type name: RolloffContrast (scripts, MCP and Nuke import use it).

Contrast around a centre, rolled off softly at the top.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgba rgba, rgb, alpha, all The channels the node changes; the others pass through.
range 1 0 to 2 The top value the soft clip rolls the result off into.
contrast 1 0 to 3 Multiplies each value's distance from the centre; 1: no change. Alpha is left as is.
center 0.5 0 to 1 The value the contrast pivots around.
soft clip 0 0 to 1 The share of the range below its top where the roll-off starts; 0: off.
override values off Nuke's knob, kept for its scripts; not used.
low slope 1 1 0 to 2 Nuke's knob, kept for its scripts; not used.
low slope 2 1 0 to 2 Nuke's knob, kept for its scripts; not used.
black low 0 0 to 1 Nuke's knob, kept for its scripts; not used.
high slope 1 1 0 to 2 Nuke's knob, kept for its scripts; not used.
high slope 2 1 0 to 2 Nuke's knob, kept for its scripts; not used.
white high 0 0 to 1 Nuke's knob, kept for its scripts; not used.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Sampler

Curves on red, green and blue; its point picks the line Nuke graphs.

Inputs: input.

Setting Default Range or choices What it does
channels rgb rgb, rgba, alpha, all rgb, rgba, alpha, all, or a layer (depth) or channel by name, as Nuke's.
sample x 0 0 to 2048 The sampled point's x, in pixels: Nuke graphs the line through it (kept; no graph yet).
sample y 0 0 to 2048 The sampled point's y, in pixels (kept; no graph yet).
normalize x on Nuke's (kept; not used yet).
lut red {} green {} blue {} The curves that map each of red, green and blue to its new value.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Saturation

More or less colour: R, G, B pushed away from (or towards) their luminance.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
saturation 1 0 to 4 0: grey, 1: unchanged.
luminance math Rec 709 Rec 709, Ccir 601, Average, Maximum How the luminance is worked out: Rec 709 or Ccir 601 weights, the average of R, G and B, or their maximum.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Highlight Rolloff

Type name: SoftClip (scripts, MCP and Nuke import use it).

Compresses values above a threshold smoothly towards 1 instead of clipping them.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
conversion none none, preserve hue and brightness, preserve hue and saturation, logarithmic compress none: no change (Nuke's default). The others compress each channel on its own (logarithmic compress is Nuke's; its preserve modes aren't yet).
softclip min 0.8 0 to 1 Values above this are compressed towards 1; values below stay as they are.
softclip max 1 1 to 10 Kept for Nuke scripts: values approach 1.
reverse off Undo the compression.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Toe

Type name: Toe2 (scripts, MCP and Nuke import use it).

Lifts the blacks without moving the whites.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgb rgba, rgb, alpha, all The channels the node changes; the others pass through.
lift 0 0 to 1 How much the blacks rise: values below 1 get lift x (1 - value)^3 added; 1 and above are unchanged.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Unmultiply Colour

Type name: UnmultColor (scripts, MCP and Nuke import use it).

Takes a background colour out: alpha from how far each pixel is from it.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgba rgba, rgb, alpha, all The channels the node changes; the others pass through.
bg color 0 0 to 1 The background colour taken out: alpha is how far each pixel is from it, and the colour left is what the pixel adds over it, premultiplied.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

Apply 3D LUT

Type name: Vectorfield (scripts, MCP and Nuke import use it).

A 3D LUT file applied (from colorspaceIn, back to colorspaceOut).

Inputs: input.

Setting Default Range or choices What it does
vectorfield file The 3D LUT file applied; empty passes the input through.
file type auto auto, 3dl, blut, cms, csp, cub, cube, vf, vfz Nuke's (kept; the colour service reads the type from the file).
interpolation trilinear field step field, linear staggered vector field, trilinear field, cubic field How the LUT is read between its points: step is nearest, cubic is cubic, the others linear.
GPU extrapolate on Nuke's (kept; not used yet).
colorspaceIn linear The colour space the picture is converted to before the LUT.
colorspaceOut linear The colour space the LUT's result is in, converted back to the working space.

Vignette

Darkens or brightens the frame towards its edges, in stops (or towards a colour), with a soft ellipse or a real lens's fall-off.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels rgb rgb, rgba, alpha, all The channels darkened or tinted.
mode exposure exposure, colour exposure: the edges lose (or gain) light, in stops, like a real lens. colour: the edges are mixed towards a colour, for a stylised look.
amount -1 -4 to 4 Stops at the edges: negative darkens, positive brightens, 0 does nothing.
tint 1 0 to 2 Colours the falloff (white: neutral).
colour 0 0 0 1 0 to 1 What the edges are mixed towards.
strength 1 0 to 1 How far the edges go towards the colour.
falloff smooth smooth, natural lens smooth: an even fade across the ellipse, as wide as softness. natural lens: the cos^4 fall-off of a real lens from its optical centre (the amount is reached on the ellipse, more beyond it).
softness 1 0 to 2 The width of the fade, centred on the ellipse (1: from half its size to one and a half; 0: a hard edge).
center x 0 -1000 to 1000 Pixels, from the middle of the format (0, 0: the frame's centre). Drag it in the viewer.
center y 0 -1000 to 1000 Pixels, from the middle of the format, vertically (0: the frame's centre).
size 1 0.1 to 2 1: the ellipse touches the format's edges. Drag its handles in the viewer.
size 1 0.1 to 2 The ellipse's height: 1 touches the format's top and bottom edges.
roundness 0 0 to 1 0: the frame's aspect; 1: a circle.
rotate 0 -180 to 180 Degrees, counter-clockwise.
(un)premult by none none, A Divide the colour by this channel (A: the alpha) before the change and multiply it back after, as Nuke's; none: off.
invert (un)premult off Use 1 - that channel.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.