ANR Tools

ANR STMap

Nuke's STMap with a reference frame: a patch lined up on one frame sticks to the surface, and Stabilize takes the movement off so you can paint, then put it back.

  • Trackers
  • Trackers pack
  • 3 inputs
  • 17 controls

Overview

With Use Reference Frame off, ANR STMap does what Nuke's STMap does: every output pixel reads the Source at the coordinate stored in the map's U and V channels, 0 to 1 across the format.

With Use Reference Frame on, the Source is treated as the picture on the Reference Frame. That frame comes out untouched whatever the map holds there, and every other frame moves the Source by how the map has changed since. Paint, a patch or a logo lined up on the Reference Frame then sticks to the surface the map describes, without unwrapping anything into UV space first. This works with a UV pass that looks nothing like an identity ramp, or a tracked warp that starts halfway through a move.

Direction: Stabilize runs the other way: every frame of the plate is warped back onto the Reference Frame, so the surface stands still. Paint or comp on the stabilized plate, then a copy of the node set to Match-move (same map, same Reference Frame) puts the movement back. The two directions are exact inverses, and switching Direction changes nothing else, so a copy with only Direction flipped always undoes the other.

Inputs

SourceSTMapMaskSTMapOutput
  1. Sourcerequired

    What gets moved: the patch, paint or plate. In Stabilize, the plate to stand still.

  2. STMaprequired

    The ST map, for example a UV pass, an ANR STMap Tracker or ANR AI Vector Tracker map. U Channel and V Channel say where the coordinates are. Without it the Source passes through.

  3. Maskoptional

    Limits the effect: where it is black the Source comes through untouched. Invert Mask flips it.

Output. The Source warped by the map, the size of the map (as with Nuke's STMap). In Stabilize, the plate warped back onto the Reference Frame. Parts the map does not show come out transparent, or smeared with Unseen Areas: Stretch.

Quick start

  1. Add ANR STMap. Connect the ST map to STMap and the patch or plate to Source.
  2. Go to the frame where your patch lines up and tick Use Reference Frame: the current frame becomes the Reference Frame, unless you already chose one (Set To Current Frame sets it at any time).
  3. If the Source is the plate itself with paint done on the Reference Frame, turn on Hold Source At Reference so that frame's picture is carried through the shot.
  4. Play the shot: the patch follows the surface, and the Reference Frame is untouched.
  5. To paint on a moving surface instead: set Direction to Stabilize, paint on the result, then add a copy of this node set to Match-move after the paint.

The panel

The node's panel as Nuke shows it, with the values of a new node. Click any control to see what it does; tabs and sections work as in Nuke.

ANR_STMap1
DirectionMatch-move
U ChannelRed
V ChannelGreen
UV SpaceProject Format
FilterCubic
Antialias
Outside SourceBlack
Use ST Map Alpha
Use Reference Frame
Reference Frame1
Set To Current Frame
Hold Source At Reference
Unseen AreasTransparent
Tear Threshold64
Mix1
Invert Mask
Status

All controls

ANR STMap17 controls
DirectionMenudirection

Match-move puts the map's movement on: the source follows the surface. Stabilize takes it off: every frame of the plate is warped back onto the reference frame, so nothing moves. Stabilize, paint or comp, then a copy of this node set to Match-move (same map, same reference frame) puts the movement back.

Match-move: Put the movement on. What this node has always done.
Stabilize: Take the movement off: the plate on every frame is warped back onto the reference frame. Parts not seen on a frame come out transparent, or stretched (Unseen Areas).

Default: Match-moveOptions: Match-move Stabilize

U ChannelMenuuChannel

The channel of the ST map holding the horizontal source coordinate, 0 at the left edge of the format and 1 at the right.

Default: RedOptions: Red Green Blue Alpha

V ChannelMenuvChannel

The channel of the ST map holding the vertical source coordinate, 0 at the bottom and 1 at the top.

Default: GreenOptions: Red Green Blue Alpha

UV SpaceMenuuvSpace

The rectangle 0..1 spans. Project Format matches Nuke's STMap for a source in the script's format; Source Bounding Box uses the source's own region, for a texture of a different size.

Default: Project FormatOptions: Project Format Source Bounding Box

FilterMenufilter

How the source is reconstructed between pixels.

Impulse: No filtering: the nearest source pixel.
Bilinear: Linear interpolation between the four nearest pixels.
Cubic: Smooth cubic, no sharpening (B=0, C=0).
Keys: Catmull-Rom: moderate sharpening (B=0, C=0.5).
Simon: Sharper cubic (B=0, C=0.75).
Rifman: Sharpest cubic, may ring (B=0, C=1).
Mitchell: Mitchell-Netravali (B=1/3, C=1/3): a balance of blur and ringing.
Parzen: Cubic B-spline (B=1, C=0): softest, never rings.
Notch: Flat-topped cubic (B=1.5, C=-0.25): suppresses the finest detail.
Lanczos4: Lanczos, 2 lobes.
Lanczos6: Lanczos, 3 lobes.
Sinc4: Windowed sinc, 4 lobes: sharpest, most ringing.

Default: CubicOptions: Impulse Bilinear Cubic Keys Simon Rifman Mitchell Parzen Notch Lanczos4 Lanczos6 Sinc4

AntialiasCheckboxantialias

Widen the filter where the map squeezes a lot of source into one pixel, so shrunk areas are averaged instead of sparkling.

Default: on

Outside SourceMenuoutsideSource

What a coordinate outside the source reads.

Black: Transparent black, like Nuke's STMap.
Edge: Repeat the edge pixels.
Tile: Repeat the whole source.
Mirror: Repeat the source, mirrored.

Default: BlackOptions: Black Edge Tile Mirror

Use ST Map AlphaCheckboxuseStmapAlpha

Treat ST map pixels with zero alpha as empty: they output transparent black, and with a reference frame they are left out of the inverse. For UV passes rendered over nothing.

Default: off

Use Reference FrameCheckboxuseReferenceFrame

Treat the source as the picture at the reference frame. That frame is left untouched whatever the ST map holds there, and every other frame moves the source by how the map changed since. In Stabilize, the frame every other frame is warped back onto; off, the plate is unwrapped into the map's own space instead (for a tracker's map, the frame it was tracked from).

Default: off

Reference FrameSliderreferenceFrame

The frame the source is lined up on.

Default: 1

Set To Current FrameButtonsetReferenceToCurrent

Use the frame you are parked on as the reference frame.

Hold Source At ReferenceCheckboxholdSourceAtReference

Read the source at the reference frame on every frame, as if a FrameHold were upstream. Turn on when the source is the plate itself: a patch painted on the reference frame is then carried through the shot. Leave it off when the source is a stabilized comp. Match-move only.

Default: off

Unseen AreasMenuunseenAreas

Parts of the surface the ST map does not show on the reference frame (turned away, off screen, behind something) have nothing to read. In Stabilize, the parts of the reference frame the map does not show on the current frame.

Transparent: Leave them transparent black.
Stretch: Smear the nearest visible source into them.

Default: TransparentOptions: Transparent Stretch

Tear ThresholdSlidertearThreshold

Neighbouring ST map pixels further apart than this, in source pixels, are an edge between surfaces rather than a stretch of one, and are not bridged when inverting the reference frame (in Stabilize, every frame). Lower it if streaks appear along silhouettes; 0 bridges everything.

Default: 64

MixSlidermix

Blend between the source (0) and the result (1).

Default: 1

Invert MaskCheckboxmaskInvert

Applies the effect where the Mask is black instead of where it is white.

Default: off

StatusStatusstatus

What the last render did. Refreshes when a control changes.

Tips

  • If streaks appear along the edges of an object, lower Tear Threshold so the node stops bridging gaps between separate surfaces.
  • For a UV pass rendered over nothing, turn on Use ST Map Alpha so empty pixels stay empty.
  • UV Space: Source Bounding Box maps 0 to 1 across the Source's own size, for a texture of a different resolution from the project.
  • If the map is moved by a Transform and parts of the result go missing, put a Crop on the map (box = format, reformat off). Status warns when this happens.
  • Status shows what the last render did; it refreshes when you change a control.

Good to know

  • Map pixels that are exactly black (U and V both 0, with no alpha) are treated as empty: that is what surrounds a map after a Transform or Crop.
  • Hold Source At Reference works in Match-move only. Unseen Areas and Tear Threshold only matter with Use Reference Frame on, or in Stabilize.
  • With Use Reference Frame off, Stabilize unwraps the plate into the map's own space instead (for a tracker's map, the frame it was tracked from).

Something unclear or missing? Write to [email protected].