Nuke gizmos and tools from Pixel Eye Pictures. Free to use and modify
under the GPL-3.0 license (see LICENSE).
These tools are made with keeping freelancers in mind.
π Full perβtool help: HELP.md (also available inβapp β Help tab / Help button).
Nuke 14+ β built and tested in Nuke 14 (Python 3; PySide2 with a PySide6 fallback for Nuke 15+).
CornerPin β Matrix β drive a Roto/paint from a corner pin so it follows the plate:
Fringe Fix β clamp coloured edge fringing:
Marker Cleanup β remove tracking markers (patch-fill mode shown):
Read Node Manager β see/enable/disable and relink all Reads at once:
Rename & Relink β rename rendered files on disk (single / sequence / batch) and relink:
Gradient β multi-stop background with shapes, depth fog and noise break-up:
Match Blacks β clean a colour cast out of the shadows (before / after):
Clipping Degrain β denoise the lifted blacks without banding (before / after):
Spot Remover β pull surrounding pixels in to fill a spot / marker (before / after):
Script Doctor β offline rescue for a .nk that won't open or crashes on load:
| Tool | Type | What it does |
|---|---|---|
| CornerPin to Matrix | gizmo PEP_CornerPinMatrix |
Convert a CornerPin's corners into a 4x4 matrix and paste it into a Roto / RotoPaint / CornerPin2D so the shape follows the pin. Static or baked over a range. |
| CornerPin to Matrix v2 | gizmo PEP_CornerPinMatrix_v2 |
Same, plus a transpose toggle and a live expression-link (target updates as the corners move) for CornerPin2D targets. |
| CornerPin to Matrix (panel) | Python | Dialog version of the above (no gizmo node). |
| Fringe Fix | gizmo PEP_FringeFix |
Kill coloured edge fringing (red/blue/magenta) by clamping the channel to the average of the other two, or realign chromatic aberration with a per-channel chroma shift. Mix control; mask externally if needed. |
| Read Node Manager | Python | List every Read / ReadGeo with status + path and a Media flag (OK / MISSING x/n frames / OFFLINE); batch enable/disable; and relink paths (find/replace or per-node edit) β e.g. repoint every pass from sh045 to sh052 in one go. |
| Rename & Relink | Python | Rename the actual rendered files on disk (single / sequence / batch) and relink the node β fix a typo, wrong version, or rename a shot without leaving Nuke or re-rendering. Type a name template (keep ####), Find/Replace, choose frames (all / range / current), and optionally renumber (start/step). Rename-only, previews, never overwrites. |
| Marker Cleanup | Python | Tracking-marker removal. Channel swap for coloured markers (green/blue screen, orange/red/green/magenta), Patch fill for black/neutral markers, and Smooth fill (Spot Remover) β the exponential-blur fill driven by the marker matte. Builds the network for you. |
| Spot Remover | Python (builds a group) | Fast, smooth spot / marker fill. Feed a plate and a matte over the spot; it pulls the surrounding pixels in and fills the hole with an exponential blur β smoother and faster than an iterative patch. Fill Blur / Edge Blur / Sample Size / Blur Angle controls, an optional hold-out mask (Limit / Protect), and a tracker link so the matte and fill follow a track. Reusable engine shared with Marker Cleanup. |
| TrackPin | Python (builds a group) | A tidy stabilize / match-move CornerPin rig. Fill the to corners with a 4-point track, pick a reference frame, choose Match Move (a held still rides the track) or Stabilize (lock the plate). Fill from a Tracker's exported CornerPin, keep edges, bake to keyframes, or Send to Matrix to bake onto a Roto/RotoPaint. |
| Clipping Degrain | Python (builds a group) | Denoise cleanly against crushed blacks / blown whites: lifts the signal off the clip point, denoises in the headroom, then reverses exactly. No plugin lock-in β swappable inner denoiser (Median / Nuke Denoise / Neat Video auto-detected) with an Open denoiser controls button. Blacks / Whites / Both mode; lossless when idle. |
| Gradient | Python (builds a group) | Multi-stop background / gradient generator. Up to 4 colour stops, shapes Linear / Radial / Box / Diamond / Depth, and noise break-up to kill banding. Depth mode remaps a depth pass through the stops for an instant depth fog. Smooth (blur) controls, lockable centre handle. |
| Match Blacks | Python (builds a group) | Match / neutralise / crush the low range only without touching mids or highlights. Remap a Source colour in the shadows to a Target. One-click Neutralise (kill a cast), Zero blacks, or Match to reference (sample a reference plate's blacks). Softness feathers into the mids. |
| Script Doctor | Python (offline panel) | Rescue a .nk that won't open or crashes on load β completely offline, it never opens the scene, it reads the script as text and writes safe, openable copies (the original is never touched). One-click rescues (remove/disable Viewers, strip callbacks, drop plugin/postage nodes, bisect the graph, stereo-safe Viewer handling, strip stray non-ASCII), an Analyze pass to target specific node types, Match nodes by name or knob value (disable / disconnect / remove), and an optional crash-log drop that auto-targets the culprit node. A paste-into-Script-Editor edition needs no install. |
Add the gizmos/pep_tools folder to your NUKE_PATH, or add this line to
your ~/.nuke/init.py:
import nuke
nuke.pluginAddPath('/path/to/pep_nuke_tools/gizmos/pep_tools')Nuke auto-loads the gizmos (available under Tab) and adds a PEP Tools menu. Restart Nuke after installing.
Copy the gizmos/pep_tools folder into any location already on your
NUKE_PATH. See Foundry's guides on Loading Gizmos, Plugins, Scripts and
Custom Menus and Toolbars.
- Get your corner-pin data (track it, or animate a
CornerPin2D'stocorners). - Tab β
PEP_CornerPinMatrix(or PEP Tools β CornerPin to Matrix). - Set / link the gizmo's
to/fromcorners. - Draw your Roto / RotoPaint.
- Select the gizmo + your target, then on the Matrix tab:
- Paste matrix into selected node β bakes the matrix (tick bake + set first/last for animated pins).
- v2 β Live link β expression-links the target to the gizmo so it updates as the corners change (CornerPin2D targets only).
The controller follows the pin. If it ever moves the wrong way, toggle invert and re-apply.
Note: live-link is not available for Roto/RotoPaint (their shape transform is curve-based and cannot be expression-linked) β use Paste / bake there.
Every gizmo also has a Help tab in its properties panel.
- Track 4 points on the surface β Tracker β CornerPin (creates a
CornerPin2D). - Tab β
PEP_CornerPinMatrix_v2. Link itsfrom/toto the CornerPin (copy/paste the corner values, or expression-link). - Paint your fix on frame 1 with a RotoPaint drawn over the reference frame.
- In the gizmo's Matrix tab: set target node = your RotoPaint (or Set from selected), tick bake, set first/last to the shot range, press Paste matrix into target.
- Scrub β the paint now rides the corner pin. Wrong direction? toggle invert, paste again.
- Tab β
PEP_CornerPinMatrix_v2, set/link its corners. - Add a CornerPin2D for your insert, set target node to it, press Live link into target.
- Now tweaking the gizmo's corners updates the insert live β no re-baking.
- Tab β
PEP_FringeFixafter the offending node. - method = Channel clamp, channel = blue (or the fringing channel), mix = 1.
- Still hot on hard edges? drop mix, or mask the node with a garbage matte so it only touches the fringe.
PEP_FringeFix, method = Chroma shift, pick the channel that's off, nudge chroma scale (e.g.1.001/0.999) until the channels register.
- Select the plate. PEP Tools β Marker Cleanup β Channel swap β preset Green screen / warm markers.
- Refine the
MC_MarkerMaskroto around the markers and wipe theMC_MatchScreengrade to match the screen.
- Select the plate. Marker Cleanup β Patch fill.
- Tune the
MC_DarkKeyrange to isolate the dark markers; raise fill blur size / grow until the holes fill with surrounding screen.
- PEP Tools β Read Node Manager β Check All.
- Search/Replace Paths β Find
sh045β Replacesh052β Apply (repeat for the version, e.g._v003β_v001). - Every Read (all passes) repoints at once β no re-importing. Match a distinctive token, not a bare number.
- Select the Read/Write node(s). PEP Tools β Rename & Relink.
- Type the new name in the New name column (keep
####for sequences), or use Find/Replace / a Name template for batches. - Optional: set Frames (all / range / current), or tick Renumber (start/step) to recount frames.
- Check the Old β New preview and file counts β Apply. It renames on disk and relinks β no re-render.
- Track 4 points β Tracker β export β CornerPin2D.
- PEP Tools β TrackPin. Set source node to that CornerPin and press Fill corners from node.
- Set the reference frame, choose mode = Stabilize, press Apply β the plate locks.
- Paint your fix on the locked frame, then switch mode = Match Move and Apply to ride the motion back on.
- PEP Tools β Clipping Degrain after the plate. Turn on Show clip.
- Raise Remove clip (blacks) until the white flags clear (you're lifting off the clip point).
- Turn off Show clip, press Open denoiser controls, and set up your denoiser (or tick Use Neat Video if installed).
- PEP Tools β Gradient. Plug a depth pass into the input, set shape = Depth.
- Set depth near / far to frame the range, and set colour stops (e.g. clear β haze colour).
- Raise noise amount (and noise blur / smooth) for patchy, organic fog. Tick lock centre so you don't nudge the handle.
- Feed the plate into input 1 and a matte over the spot into input 2 (a painted alpha or a white blob both work).
- PEP Tools β Spot Remover. Raise Fill Blur Size until the hole fills from the surrounding pixels.
- Tune Sample Size (how far outside to sample) and Edge Blur; add Blur Angle for a directional fill. Or use Marker Cleanup's Smooth fill mode to drive it from a keyed marker matte.
- To make it follow a track: put your Tracker (matchβmove) or an exported Transform in the tracker field and press Link tracker β the fill rides the point across the shot.
- PEP Tools β Match Blacks. Set Pin Blacks to the top of the range to affect.
- Eyedrop the cast into Source Color, then press Neutralise (or Match to reference with a reference plate on input 2).
- Add Softness so the correction feathers into the mids.
GPL-3.0 (c) Pixel Eye Pictures. See LICENSE.