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. |
