O_VerticalAligner

The O_VerticalAligner plug-in lets you warp views vertically so that their corresponding features align horizontally. The Vertical Skew and Local Alignment options allow you to warp the views while keeping the horizontal position of each pixel the same so that there is no change in convergence.

Inputs and Controls

Connection Type

Connection Name

Function

Input

Solver

If you’re using the Global Alignment mode and the Source sequence doesn’t contain features that O_Solver is able to match well, you can use O_Solver on another sequence shot with the same camera setup. If you do so, connect O_Solver to this input.

Source

A stereo pair of images.

In the Global Alignment mode, if you’re not using the Solver input, the images should be followed by an O_Solver node.

In the Local Alignment mode, you need an O_Solver node and a disparity field in this input. You can create a disparity field using O_DisparityGenerator.

Control (UI)

Knob (Scripting)

Default Value

Function

O_VerticalAligner Tab

Views to Use

viewPair

Dependent on Source

Sets the two views you want to align. These views will be mapped for the left and right eye.

Align

alignWhat

Both Views

Sets how to move the views to align the images:

Both Views - move both views half way.

Left to Right - move the left view to line up with the right.

Right to Left - move the right view to line up with the left.

Warp Mode

warpMode

Global Alignment

Sets the mode to use for vertical alignment:

Global Alignment - applies a global image transform to align the feature matches generated by an upstream O_Solver node. You can use the Global Method menu to choose how this is done. With all methods, multiple O_VerticalAligner nodes concatenate with a single filter hit. You can also analyse to create Corner Pin and Camera information in all methods except Vertical Skew.

Local Alignment - rebuilds the view(s) to remove vertical disparity calculated by an upstream O_DisparityGenerator. Use this mode to create a per-pixel correction if there are any local distortions in the mirror or lens and changes in alignment with depth.

Global Method

alignmentMethod

Vertical Skew

Selects the method you want to use to align the images when Warp Mode is set to Global Alignment:

Vertical Skew - align the features along the y axis using a skew. This does not move the features along the x axis.

Perspective Warp - do a four-corner warp on the images to align them on the y axis. This may move the features slightly along the x axis.

Rotation - align the features vertically by rotating the entire image around a point. The centre of the rotation is determined by the algorithm.

Scale - align the features vertically by scaling the image.

Simple Shift - align the features vertically by moving the entire image up or down.

Scale Rotate - align the features vertically by simultaneously scaling and rotating the entire image around a point. The centre of the rotation is determined by the algorithm.

Camera Rotation - align the features by first performing a 3D rotation of both cameras so that they have exactly the same orientation and a parallel viewing axis, and then reconverging the views to provide the original convergence. This method requires the camera geometry provided by an upstream O_Solver node. For best results, use the O_Solver Camera input to provide the information for the shooting cameras. If a Camera input is connected, the camera data is used per frame (rather than only taken from keyframes).

filter

filter

Cubic

Select the filtering algorithm to use when remapping pixels from their original positions to new positions. This allows you to avoid problems with image quality, particularly in high contrast areas of the frame (where highly aliased, or jaggy, edges may appear if pixels are not filtered and retain their original values).

Note:  This control is only available if you have set Warp Mode to Global Alignment.

Impulse - remapped pixels carry their original values.

Cubic - remapped pixels receive some smoothing.

Keys - remapped pixels receive some smoothing, plus minor sharpening.

Simon - remapped pixels receive some smoothing, plus medium sharpening.

Rifman - remapped pixels receive some smoothing, plus significant sharpening.

Mitchell - remapped pixels receive some smoothing, plus blurring to hide pixelation.

Parzen - remapped pixels receive the greatest smoothing of all filters.

Notch - remapped pixels receive flat smoothing (which tends to hide Moiré patterns).

Analyse Sequence

analyse

N/A

Click to analyse the sequence to create a corner pin or aligned camera output.

Use Analyse Sequence to create the output data in all global methods except Vertical Skew (the default). Then, use Create Corner Pin, Create Camera, or Create Rig.

Create Corner Pin

createPin

N/A

Click to create a corner pin representing the result of O_VerticalAligner once you have clicked Analyse Sequence.

You can use multiple O_VerticalAligner nodes to produce the desired alignment. Then, analyse on the final node to create a single corner pin to represent the concatenated transform. This works in all global methods except Vertical Skew (the default).

Create Camera

createCamera

N/A

If you have a pretracked Nuke stereo camera connected to the Camera input of the O_Solver up the tree and you have clicked Analyse Sequence, you can click this to create a vertically aligned camera from the analysis.

This gives you a single Camera node with split controls to hold the left and right view parameters. This works in all global methods except Vertical Skew (the default).

Create Rig

createRig

N/A

If you have a pretracked Nuke stereo camera connected to the Camera input of the O_Solver up the tree and you have clicked Analyse Sequence, you can click this to create a vertically aligned camera rig from the analysis.

This gives you two Camera nodes and a JoinViews node that combines them. This works in all global methods except Vertical Skew (the default).

Output Tab

Four Corner Pin

Bottom Left xy

pinBL

0,0

These controls represent the 2D corner pin that can be applied to the input image to create the same result as O_VerticalAligner (in all global methods except Vertical Skew).

This allows you to do the analysis in Nuke, but take the matrix to a third-party application, such as Baselight, and align the image or camera there.

Bottom Left - the coordinates of the bottom left corner pin calculated during the analysis pass.

Bottom Right - the coordinates of the bottom right corner pin calculated during the analysis pass.

Top Right - the coordinates of the top right corner pin calculated during the analysis pass.

Top Left - the coordinates of the top left corner pin calculated during the analysis pass.

Bottom Right xy

pinBR

0,0

Top Right xy

pinTR

0,0

Top left xy

pinTL

0,0

Transform Matrix

transformMatrix

N/A

Provides the concatenated 2D transform for the vertical alignment. The matrix is filled when you click Analyse Sequence on the O_VerticalAligner tab. There is one matrix for each view in the source.

Python Tab

before render

beforeRender

none

These functions run prior to starting rendering in execute(). If they throw an exception, the render aborts.

before each frame

beforeFrameRender

none

These functions run prior to starting rendering of each individual frame. If they throw an exception, the render aborts.

after each frame

afterFrameRender

none

These functions run after each frame is finished rendering. They are not called if the render aborts. If they throw an exception, the render aborts.

after render

afterRender

none

These functions run after rendering of all frames is finished. If they throw an error, the render aborts.

render progress

renderProgress

none

These functions run during rendering to determine progress or failure.

Video Tutorials