Skip to content
Voro
  1. Image
  2. Effects

Contour

Example Built with Kernel FX Ships with Voro as an example. It may change between versions.

Contour finds boundaries at several image scales and shapes them into visible lines. It can draw over the source, publish a grayscale edge mask, or place the contours in alpha for compositing.

Place Contour under Effects in the Image view and connect your picture to image. Start with the Gradient detector. Adjust Threshold until it keeps the boundaries you want, then set Width.

Choose Matte in Output when another effect needs an edge mask. Choose Cutout when you want the contours on a transparent background.

  • image supplies the picture to analyze.
  • out carries the result selected by Output, including its chosen alpha.
  • Detector selects luminance gradients, colour boundaries, local silhouettes, exposure levels or fine ridges.
  • Stages adds broader extraction scales. Scale sets the first radius in output pixels.
  • Sensitivity and Threshold decide which contrast becomes an edge. Threshold Softness softens that decision.
  • Width expands the contours. Inside / Outside shifts their emphasis toward either side of a boundary.
  • Echo Rings repeats the expanded contour. Tangent Breaks and Segment Length turn continuous lines into segments.
  • Output selects a composite, Matte, Cutout or Relief view. Alpha can preserve the source alpha or use the contour or its inverse.

Colour detects boundaries that a luminance-only detector can miss. Try it when two adjoining colours have similar brightness. Cutout always uses contour alpha, regardless of the Alpha setting.

Inputs

  • image image required
    RGBA

Outputs

  • out image
    RGBA

Contour

Mix (Mix) Float op('contour').par.Mix

Blend the complete treatment with the untouched input. Zero is exact passthrough.

Default:
1
Range:
0 to 1
Detector (Detector) Menu op('contour').par.Detector

Gradient is clean luminance structure; Colour also finds equal-luma colour boundaries; Morph is a bold local silhouette; Levels draws exposure contours; Ridge isolates creases and fine relief.

Default:
gradient
Options:
gradient, colour, morph, levels, ridge
Stages (Stages) Int op('contour').par.Stages

Number of ordered scale bands in the extractor. One is fastest and finest; four adds progressively broader structure.

Default:
2
Range:
1 to 4
Scale (Scale) Float op('contour').par.Scale

Radius in output pixels of the first extraction band. Later stages double it.

Default:
1
Range:
0.5 to 16
Sensitivity (Sensitivity) Float op('contour').par.Sensitivity

Gain before the edge threshold. Raise for restrained footage; lower for clean keys and graphics.

Default:
2
Range:
0.1 to 16
Threshold (Threshold) Float op('contour').par.Threshold

Minimum local contrast admitted as contour energy.

Default:
0.12
Range:
0 to 1
Threshold Softness (Softness) Float op('contour').par.Softness

Width of the detector knee. Zero is a hard graphic decision; larger values retain photographic micro-contrast gracefully.

Default:
0.08
Range:
0.001 to 0.75
Scale Balance (Balance) Float op('contour').par.Balance

Bias the pyramid toward fine negative values or broad positive values without changing its radii.

Default:
0.05
Range:
-1 to 1
Stage Fusion (Fusion) Menu op('contour').par.Fusion

Clean keeps the strongest band; Stack joins all bands; Interval keeps scale transitions; Weave alternates fine and broad evidence for geometric fracture.

Default:
clean
Options:
clean, stack, interval, weave
Colour Weight (Chroma) Float op('contour').par.Chroma

Opponent-colour contribution in Colour detector mode. Zero reduces it to luminance gradient.

Default:
1
Range:
0 to 3
Exposure Levels (Levels) Int op('contour').par.Levels

Number of luminance bands in Levels detector mode.

Default:
7
Range:
2 to 32
Level Phase (Phase) Float op('contour').par.Phase

Slides exposure-band boundaries through the picture; animate it for flowing topographic contours.

Default:
0
Range:
-1 to 1

Shape

Width (Width) Float op('contour').par.Width

Signed-distance-like contour expansion in output pixels. The separable four-tap field stays inexpensive at large widths.

Default:
1
Range:
0 to 96
Edge Feather (Feather) Float op('contour').par.Feather

Falloff across the expanded width. Zero is a hard dilation; one is a soft distance ramp.

Default:
0.5
Range:
0 to 1
Inside / Outside (Side) Float op('contour').par.Side

Negative keeps the darker/exterior side, positive the brighter/interior side, and zero is centred. It is polarity-aware rather than a blind offset.

Default:
0
Range:
-1 to 1
Edge Gain (Gain) Float op('contour').par.Gain

Final contour density after expansion and side selection.

Default:
1
Range:
0 to 4
Edge Gamma (Gamma) Float op('contour').par.Gamma

Shapes soft contour energy without moving the detector threshold.

Default:
0.9
Range:
0.15 to 4
Echo Rings (Rings) Int op('contour').par.Rings

One is a conventional contour. Two through eight turn the expanded field into nested distance rings.

Default:
1
Range:
1 to 8
Ring Width (Ringwidth) Float op('contour').par.Ringwidth

Duty of nested echo rings when Rings is above one.

Default:
0.34
Range:
0.05 to 0.95
Facets (Facets) Int op('contour').par.Facets

Directionally facets the contour response. Zero is neutral; four, six and eight give clean geometric stage looks.

Default:
0
Range:
0 to 16
Tangent Breaks (Dashes) Float op('contour').par.Dashes

Breaks contours along their own tangent, from continuous at zero to technical scan segments at one.

Default:
0
Range:
0 to 1
Segment Length (Dashlength) Float op('contour').par.Dashlength

Length of tangent segments in output pixels.

Default:
48
Range:
2 to 512
Segment Phase (Dashphase) Float op('contour').par.Dashphase

Slides tangent breaks along the contour; safe to animate.

Default:
0
Range:
-8 to 8

Output

Output (View) Menu op('contour').par.View

Adaptive, white and black composite over the image; Matte is a reusable grayscale edge; Cutout writes the edge into alpha; Relief lights the signed normal without adding colour.

Default:
adaptive
Options:
adaptive, white, black, matte, cutout, relief
Source (Source) Float op('contour').par.Source

Brightness of the photographed base beneath composite and relief views.

Default:
1
Range:
0 to 2
Contour Opacity (Opacity) Float op('contour').par.Opacity

Coverage of the edge over the source. Matte and Cutout retain the full reusable mask.

Default:
0.55
Range:
0 to 1
Alpha (Alpha) Menu op('contour').par.Alpha

Keep source alpha, publish the contour as alpha, or publish its inverse. Cutout always uses contour alpha.

Default:
source
Options:
source, contour, inverse
Relief (Relief) Float op('contour').par.Relief

Signed normal-light amplitude in Relief view.

Default:
0.72
Range:
-3 to 3
Light Angle (Light) Float op('contour').par.Light

Relief light direction in degrees.

Default:
-45
Range:
-180 to 180