Nodes/radiance/Split View
ComfyUI Node

Split View

How to actually see what your grade changed

By FXTD-Studios·Created 8 months ago·Updated about 18 hours ago· 246
Split View
  • image_a
  • image_b
  • comparison
◄modewipe_h►
◄position0.50►

You applied an exposure tweak, a LUT, a grain pass. Does it look better, or just different? Staring at one image after another is a terrible way to answer that. Split View puts both versions in one frame - wipe, side by side, or a difference map - which is the oldest trick in compositing and still the one that catches problems.

What it does

Two IMAGE inputs: image_a is the original or reference, image_b is the processed result. One comparison output. The docstring is explicit about the intended wiring: "pre-grade image into image_a and post-grade result into image_b."

mode gives you four behaviours:

  • wipe_h - A on the left, B on the right of a vertical line, dragged with position. Default.
  • wipe_v - A above, B below.
  • side_by_side - the left half of A beside the right half of B, fixed at 50%. Here position does nothing.
  • diff - |A - B| × 4, clipped to 0–1.

position runs 0→1 as a fraction of width (for a horizontal wipe) or height (for a vertical one), and the direction is stated in the tooltip because it's easy to get backwards: 0 = all B, 1 = all A. So 0.5 is half and half, and if you're seeing only the graded version, you're at the wrong end.

The mode most people under-use is diff. A 4× amplification of the absolute difference is exactly how you catch the change you didn't intend - a colour shift in the shadows from a LUT that was supposed to be neutral, a channel swap, a subtle softening at the edges of an upscale. On a well-matched grade the diff frame is nearly black; on a broken one it lights up in the region that moved.

Mechanically it's a plain pixel composite - numpy on the batch, no model, no GPU. Batches of different lengths are handled by taking the longer of the two, so a mismatch won't crash; it just fills from whichever side has frames. Sizes, though, are on you: feed it an A and a B of different dimensions and the composite is what it is.

Where it fits

The pack ships a full Viewer node with a comparison mode, scopes and playback, and for live review that's the better tool. Split View is what you use when you want the comparison baked into the graph: it produces an IMAGE, which means you can save it, hand it to a client, or - the genuinely useful pattern - write it out frame by frame as a QC pass over a sequence, so you can scrub the wipes instead of clicking two nodes.

That's the practical difference. Viewer is interactive and temporary; Split View is a node whose output survives into a file.

One honest limit: diff tells you where things changed, not whether the change is good. It's a QC tool, not a taste tool. Render both, look at the wipe, then look at the diff to see if you got what you asked for.

Install

Manager → search Radiance → Install → restart → refresh the browser. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/fxtd-studios/radiance.git
cd radiance
python -m pip install -r requirements.txt

On Windows portable, run that pip line with python_embeded\python.exe. Radiance is a big pack - OpenEXR, OpenImageIO, OpenColorIO, diffusers - but nothing here needs a model file or a download; it's arithmetic. The registry currently serves an older release than the README's 3.5.0, so if the node menu looks different from the docs, run Update in Manager or git pull in the radiance folder.

Gotchas

side_by_side is a half-and-half splice, not a two-up with a gap - if you expected two complete images next to each other, that's the full Viewer's compare, not this node.

The wipe line is hard by default; there's no feather widget. On a busy image a hard split edge is actually helpful (it mimics a wipe in a review session), but don't expect it to look like a graded blend.

And diff is clipped, so a big change just reads as white. If two candidates both blow out the diff, drop the comparison to wipe_h and look at the picture instead - the numbers have stopped discriminating.

CategoryFXTD STUDIOS/Radiance/Review

Inputs (4)

NameTypeDefaultDescription
image_aIMAGEOriginal / reference image.
image_bIMAGEProcessed / graded image.
modeCOMBOwipe_hwipe_h: A left, B right of a vertical line. wipe_v: A above, B below. side_by_side: left half of A beside right half of B (fixed 50% split). diff: |A - B| x 4, clipped to [0, 1].
positionFLOAT0.500–1Wipe line position as a fraction of width (wipe_h) or height (wipe_v): 0 = all B, 1 = all A. Unused in side_by_side and diff.

Outputs (1)

NameTypeDescription
comparisonIMAGE—