HEELER
Documentation menu

Utility nodes

Compositing, channels, color spaces, transforms, and the content nodes behind Finish layers.

Merge (heeler.merge)

Lay one image over another by opacity: the plain composite.

  • Ports: base, over (rgb), rgb out.
  • Opacity; Fit for a second picture of another shape: Fit keeps it whole inside the frame, Fill covers the frame, Stretch pulls it to the frame, None places it at its own size. A new node starts on Fit; one saved before the choice existed keeps stretching.

With nothing on the second input the base passes through.

Blend Mode (heeler.blend)

Combine two images by a mode. The carrier of every Finish layer.

  • Ports: base, top layer (rgb), mask in (where it applies), clip (a stencil), rgb out.
  • Mode multiply, screen, overlay, soft light, hard light, vivid light, linear light, add, darken, lighten, difference, exclusion, color burn and dodge, hue, saturation, color, luminosity; Opacity; Fit as on Merge; Clip to the base's alpha; and the layer transform's corners, which the Transform tool in Finish writes.

Overlay and the light modes are defined in display space: put To Display before and To Scene after when blending scene-linear branches.

Transform (heeler.transform)

Move, scale and rotate about a pivot, in one node and one resample.

  • Ports: rgb in, rgb out.
  • Move X/Y as a percentage of the frame, Size as a percentage, Rotate in degrees, Pivot X/Y as a percentage of the frame.

The frame keeps its size. What leaves it is gone; what enters is transparent, so a transformed picture merges cleanly. Three nodes would resample three times; this one resamples once.

Conditional (heeler.conditional)

If the condition holds, the then branch; else the else branch, per pixel.

  • Ports: else branch (rgb), then branch (rgb), condition (field), rgb out.

A feathered condition from Compare crossfades the branches. No condition wired, or the node switched off, is the else branch. See Example networks.

Math (heeler.math)

Arithmetic on fields.

  • Ports: operand a, operand b (field), field out.
  • Op add, multiply, divide, power and the rest; Constant stands in for b when b is unwired; Scale and Offset on the result, unclamped.

With nothing wired it is a constant field.

Remap (heeler.remap)

Levels for a field: window, gamma, output range.

  • Ports: field in, field out.
  • In low/high, Gamma, Out low/high, Clamp.

Channel (heeler.channel_extract)

One channel as a field: luma, red, green or blue.

  • Ports: rgb in, field out.

Luminance Extract (heeler.luminance_extract)

Brightness as a field. The quickest way from a picture to a mask.

  • Ports: rgb in, field out.

Channel Join (heeler.channel_join)

Three fields become an image: r, g and b in, rgb out. The ports wear their channel's color.

  • Ports: red plane, green plane, blue plane (fields), rgb out.

An unwired plane reads as zero. Feed it three Measures for a false-color analysis, or rebuild a picture from remapped channels.

Channel Gain (heeler.channel_gain)

More or less of one channel; 100 is unchanged.

  • Ports: rgb in, mask in, rgb out.
  • Channel luma, red, green or blue; Gain.

Channel Mixer (heeler.channel_mixer)

Each output channel rebuilt from all three inputs.

  • Ports: rgb in, mask in, rgb out.
  • Nine mix weights; Preserve grey keeps neutrals neutral.

Tone Mask (heeler.tone_mask)

Shadows, midtones, highlights, or the midtone bell, as a picture. A helper for the recipes.

  • Ports: rgb in, rgb out.

Invert (heeler.invert)

One minus the value, by amount.

  • Ports: rgb in, mask in, rgb out.

To Display (heeler.to_display) and To Scene (heeler.to_scene)

Into display space, where Overlay and Vivid Light are defined, and back to scene-linear afterwards.

  • Ports: rgb in, rgb out.
  • Gamma overrides the transfer; 0 uses the standard curve.

Always use them as a pair around the blend.

Luma / Color Split (heeler.luma_chroma_split) and Join (heeler.luma_chroma_join)

Brightness or color on its own, so noise in each can be smoothed apart, and the two put back together.

  • Split ports: rgb in, rgb out; Part luma or color.
  • Join ports: brightness (rgb), color (rgb), rgb out.

The Noise Reduction section is built from these two and two Denoise nodes.

Paint (heeler.paint)

RGBA strokes on a transparent canvas: the Finish tab's pixel layer.

  • Ports: rgb in, rgb out.
  • Strokes; Heal reads texture from the source.

Clone / Heal (heeler.clone)

Repairs that re-execute: strokes that read pixels from elsewhere in the frame.

  • Ports: rgb in, rgb out.

Lift (heeler.lift)

The picture below, as this layer's own pixels. Finish's Isolate.

  • Ports: rgb in, rgb out.

Fill (heeler.fill)

A solid color, for a fill layer and its mask.

  • Ports: rgb in, rgb out.
  • Color.

Gradient (heeler.gradient)

Two stops with alpha, linear or radial, or a list of stops.

  • Ports: rgb in, rgb out.
  • Color A/B, Alpha A/B, Angle, Shape, Midpoint, Stops.

Output (heeler.output)

What gets exported. Every graph ends here; it cannot be deleted or duplicated.

  • Ports: rgb in.
  • Format, Quality, Long edge, Color space are the defaults Export starts from.

Groups

A group card holds a graph of its own and shows one input, one output and any controls it publishes. Double-click to open it. Groups are made from a selection, not added from the palette.