Mozilla Skin*/?>

Conduit Cheat Sheet (FAQ)

From ConduitWiki


What's a conduit?

A conduit is a visual effect created in the Conduit Editor. It's like a flow chart that reads from top to bottom, explaining all the operations that are performed on the images to produce an output.

These operations are represented as nodes, visual blocks that have inputs and outputs. By connecting nodes, you decide the order of operations that happens when the conduit is rendered.

To see what the Conduit Editor looks like, follow this link.

The Conduit Editor is the core of Conduit. It works exactly the same in all the Conduit products, whether you're using the standalone Conduit Live application, or Conduit as a plugin inside an application like FCP or After Effects.

Conduits are stored in the .conduit file format. To save and open these files, click the "File" button in the top right-hand corner of the Conduit Editor.

What are sliders and color pickers?

They are an easy way to control your conduit from the outside.

When using Conduit as a plugin, these values are controlled from the host application's interface. In Final Cut Pro, you'll find the sliders and color pickers in the Motion tab. In After Effects, they're in the Effect Controls tab.

By default, the sliders and color pickers don't mean anything. You must give them a meaning within your conduit by connecting them to some values. For example, Slider 1 could be the opacity of a compositing node, while Slider 2 could be the amount of blur applied.

This is done by using the Slider and Color Picker nodes within your conduit. They are found in the Inputs category in the Conduit Editor.

You can use all of Conduit's nodes to modify the slider and color picker values as desired. For example, a slider's default range is 0 - 1, but it's often useful to apply it with a larger range such as 0 - 50 (perhaps to control a blur). This is easily accomplished by multiplying the slider's value by 50. Simply place a Multiply node after the Slider node.

Where's the eyedropper tool?

(The eyedropper tool is used to pick colors directly from an image.)

In Conduit Live, you can find it in the Viewer window. When you pick a color using the eyedropper, the color value is applied to the first color picker. You can see it in the Sliders and Color Pickers window. (To edit the color, drag the sliders or click on the color swatch.)

For the Conduit plugins, the location of this tool will depend on the host application. You can usually use the host app's eyedropper tool to pick a color and place it into one of the color picker inputs for the Conduit filter.

In After Effects, Photoshop and Aperture, Conduit displays a preview of the image alongside the Conduit Editor. The eyedropper tool is also available there.

Where's Brightness & Contrast?

We recommend you use Levels instead, it's more flexible. See the next question on how to use Levels!

If you miss Brightness and Contrast, you can create the same effect using Add and Multiply nodes. First use Add to control the level of contrast falloff; then use Multiply to apply contrast; then another Add to apply overall brightness as needed. (But don't forget that Levels does this same job in one step.)

How to use Levels?

There are three parts to Levels: the input, gamma, and the output.

(By the way, if you know how Levels works in Photoshop, then all you need to know is that it works the same way here.)

Input levels defines the contrast of the input image. Choose the black and white points by dragging the "Input black" and "Input white" sliders.

(You can use the histogram to get a clear idea of how the tones of the input image are distributed. Because calculating the histogram can be expensive, it's disabled by default, but can be enabled by toggling the checkbox in Levels' parameters.)

Gamma defines the tone curve applied to the image. You can use it to make shadows brighter, or highlights darker.

Output levels defines the tone range of the output image. To brighten the image overall, increase the "Output black" value. To increase the contrast of the output image, increase the Output white value. (Although the slider only goes to one, you can increase the value beyond one by clicking on the arrows around the number, or simply clicking and dragging the displayed number.)

Levels in Conduit allows you to create HDR values by simply toggling the checkbox that reads "Clip values to 0-1". That means you can use Levels to scale an image's brightness to a "superbright" range. In the Viewer, pixel values beyond one will appear white, but the data is still there.

What's alpha?

Alpha is the name commonly used to mean a transparency channel. It is a greyscale image that's associated with your actual color values (those RGB channels - red, green and blue). The alpha channel determines which pixels are visible, and how transparent they are.

When the alpha channel is all black, no pixels are visible. When it's all white, the entire image is visible.

This sounds fairly simple, but there's an extra complication because there are actually two flavors of alpha in common use: premultiplied and unpremultiplied (also known as "straight"). Read on...

What's premultiplied alpha?

Premultiplied alpha means that the RGB pixel values have been multiplied by the alpha value. That means, if the alpha is zero (completely transparent) at a particular pixel, the color value will be black.

What's the point? Wouldn't it be better to avoid premultiplication and keep the color data intact? Yes, it would be nice... But due to a number of factors, it's often much faster for computers to render images with premultiplied alpha. Hence you'll find that a lot of image files contain this kind of alpha.

If you want to import unpremultiplied alpha into Conduit, the TIFF and OpenEXR formats should do the trick.

Conduit Live also expects your images to be premultiplied when displayed. (Again, this is for performance reasons.) If you apply an alpha channel to an image but don't premultiply it, the transparency will not display correctly in Conduit Live's Viewer window.

If you're using the Over node to composite, it has a "premultiply" checkbox that can be used to do this. Otherwise, you can always place a Premultiply node at the end of your conduit.

What's a matte?

Matte is simply another name for an alpha channel. The word "matte" comes from visual effects tradition. It means a mask that reveals some parts of the image.

Conduit has a node called Set Matte, which sets the alpha channel of an image.

How do I mask an effect (i.e. limit an effect so that it renders only within a specified matte)?

It's fairly common that you want to apply an effect only within a specific part of the image, rather than the image as a whole.

There are two easy ways to mask an effect in Conduit.

Many nodes have a parameter called "Effect opacity". This makes it really simple to mask the effect. Simply connect the matte image to this parameter's input. In the following screenshot, an Exposure node is masked using a Shapes node:

File:Conduitnodes effectmask exposure and shapes.png

Note that the Shapes node's output needs to be converted to "scalar" (i.e. grayscale) so that it can be used as a matte. The purple connector on Shapes indicates that its output is a color image. The Scalar node simply converts this to a grayscale image by taking the first channel.

The other way to mask an effect is to use an Over node. This way, we simply composite the effect over the original image using the matte:

File:Conduitnodes effectmask exposure using over.png

This method works for masking anything.

Problem: transparent areas are displaying as bright.

This is happening because alpha has not been premultiplied. See What's premultiplied alpha?.

Problem: composited object has a black outline.

This is happening because the object's alpha channel has been premultiplied, but you're using a compositing operation that expects straight alpha. (See What's alpha?)

If you're using the Over node, just toggle the checkbox that is labelled "Foreground is premultiplied".

What's gamma?

It's a color correction that's typically applied to digital images. See the next answer...

What's linear light?

The concept behind linear light compositing is fairly simple. It's all about making our pixel values behave like real light values. This is done by removing gamma correction from the source images.

Gamma correction is a process usually applied by the camera. When the image sensor behind the camera's lens captures an image, the picture is in a linear light format – each pixel corresponds to an actual light value. But digital images are not stored like this. The fundamental reason is that human vision does not perceive lightness values in a linear fashion: to our brains, darker areas appear lighter than the actually are. The camera applies a gamma curve to the image data in order to make the pixel values correspond more closely to how the viewer will perceive them.

This is fine for viewing images, but in compositing, we want to work with something closer to actual light values. Consider a situation where we would like to add a semi-transparent screen into an image. The screen would block 50% of the light. If we're working in linear light, we can simply use a black layer at 50% opacity, and the resulting effect will look "right" in a way that's difficult to approximate when working with gamma-corrected images.

Conduit has excellent support for linear light compositing. To convert your images to linear, all you need to do is apply the Convert Video to Linear node.

There's no need to worry about loss of precision, because Conduit always works at floating point precision. See the next answer...

What's floating point color?

Floating point color precision means that pixel values are not constrained to any fixed range. Typically pixels in digital images are limited to a very specific range, for example 0-255 for so-called "true color" or 24-bit images. These traditional images are better described as having 8 bits per channel, in contrast to floating point images which can have 32 bits per channel.

The major advantage of using floating point pixels instead of a fixed range of values is that you're suddenly free to use the whole range of numbers to represent your images. When working in floating point, a single image can contain brightness values of 1/1000 units in the shadows, and 1000 units in the highlights. That's an enormous amount of dynamic range. (Note that the "unit" doesn't have a fixed meaning. It's up to you to determine what a pixel with a value of 1.0 means.)

Floating point pixels can even contain negative values. This can be used for interesting effects, e.g. compositing with negative images that "eat" parts of the background image. (Negative values are also of interest for rendering effects like displacement and normal mapping.)

Conduit always works in floating point mode. Pixel values are never clipped, unless you explicitly ask a node to perform clipping.

What's HDR?

HDR is short for High Dynamic Range. It's an umbrella term that essentially means "more color precision, and no limits on pixel values". This is made possible by using floating point values for pixels. (See the previous answer.)

In photography, HDR images are usually created by combining multiple exposures. ([article])

Conduit supports HDR by default, because it always renders in floating point mode.

How to use Curves for color correction?

(this answer not yet written, sorry!)

When to use the Bezier/Cubic Curve nodes instead of Curves (RGBA)?

The Curves (RGBA) node is powerful, but it's a bit slower to render than most other color correction tools in Conduit.

If you don't need all the features in Curves (RGBA), consider using the Bezier Curve node. It offers a 4-point curve that is adequate for a lot of color corrections, and it renders very fast.

The Cubic Curve node is an even simpler type of curve. (On modern graphics hardware, it doesn't have a significant performance advantage over Bezier Curve, but it can still be useful in its own right.)

How to rotate an image?

Use the Place Over node. See also the next answer...

What's the difference between Place Over and 2D Transform?

Place Over is a new node in Conduit 2.0. It allows for an image to be rotated, scaled, translated, and then placed on top of a background image. (You can also use Place Over to simply perform the transformation, without compositing on a background.)

2D Transform is simpler. It only does scaling and translating.

Another difference is that 2D Transform will essentially treat the input image as being of project size, whereas Place Over will composite the foreground image in its original size. This matters when you're combining elements that have a different resolution.

For example: assume your project is rendered at 1280*720, and you want to import a graphic element which has a resolution of 400*300. Using Place Over, you can composite this graphic so that its original size is retained.

Place Over also has special support for more easily animating elements in Conduit Live. Any Place Over node can be controlled by a source in the Conduit Live 2 project view. Using this feature, a layer's position and transformation can be animated by a tracking or scripting node widget in Conduit Live. (To use this feature, connect a node widget to a Conduit Effect's "custom values" input. These values will become available in the Place Over node's interface.)

How to create a macro (or capsule)?

Use the Supernode. See also the next answer...

How to package multiple nodes into one?

The Supernode is a powerful new feature in Conduit 2.0. Not only does it allow you to package multiple nodes into a single unit, but you can also save that node as a plugin that works just like Conduit's built-in nodes. Supernode also has an expansive scripting interface, so you can create completely custom visual effects using JavaScript.

For more information, check out the Supernode Tutorial.