Skip to content

Source Cloning

The Source Cloning button in the Editor header opens a side-by-side editor where the left panel shows one of your original source frames (aligned to match the stacked result) and the right panel is the stacked result you’re editing. You paint with the brush and the pixels under your cursor get replaced by the matching pixels from the source frame.

It’s designed for moments where the focus stacker softened a fine detail that’s perfectly sharp in one of the original frames — the classic case is a thin antenna or hair that got blurred when the blender merged in a defocused frame.

Focus stacking blends pixels from many frames. For most of the image that’s exactly what you want: it builds a single all-in-focus result from a series of differently-focused captures. But occasionally a thin feature (a moth’s antenna, a fly’s hair, a translucent wing edge) ends up softer in the blended result than it was in the one frame where it happened to be perfectly in focus.

Source Cloning lets you grab those pixels back. You pick the source frame that has the sharpest version of the feature, and paint that single frame’s pixels into the result. Everything else stays as the blended stack.

Strokes are editable inside the editor — undo, redo, switch source frames, paint more — but once you Apply, the cloned pixels are baked into the current history entry. (Source Cloning doesn’t push a new history entry; the bake replaces the entry’s pixels. Cmd+Z while inside the editor is the granular undo; once you Apply, the only way back is to step to a prior history entry.)

Common cases:

  • Thin antennae softened by the blend — moths, mosquitoes, leafhoppers, wasps.
  • Translucent wing edges where the blender wasn’t sure whether the pixel belonged to the in-focus subject or the out-of-focus background.
  • Stray hairs on insect legs or thoraxes that came out crisp in one frame and smudged in the blend.
  • A single petal edge that’s sharper in frame 12 than in the merged result.

Source Cloning is not a general-purpose retouch or denoise tool. For dust spots and small blemishes, use Retouch instead.

Source Cloning is enabled once a stack has finished and the per-frame alignment data is available (i.e. any multi-frame stack from MacroStack v2026.5.27 or later — older stacks won’t have the data on disk).

  • Click Source Cloning [S] in the Editor header.
  • Or press S while in the Editor (and not already in another sub-mode).

If the button is greyed out, the current result is a single-frame edit, or it was produced by an older app version that didn’t cache the per-frame warps.

The editor takes over the center canvas with four regions:

  1. Toolbar at the top — frame navigation, brush controls, Undo/Redo, Cancel, Apply.
  2. Source pane on the left — the aligned source frame you’re sampling from.
  3. Result pane on the right — the stacked image you’re painting into.
  4. Source filmstrip along the bottom — a thumbnail of every source frame. The bottom strip (normally your edit history) switches to this filmstrip while you’re in Source Cloning, then switches back when you leave.

The two panes are pan/zoom-synced: when you scroll-zoom or drag-pan one, the other follows so your brush always points at the same pixel on both sides.

The toolbar’s left/right arrows step through the source frames one at a time. The label reads Frame N of M so you know where you are in the stack. You can also use the left and right arrow keys while the editor has focus.

The fastest way to get around is the source filmstrip along the bottom: click any thumbnail to jump straight to that frame instead of stepping one at a time. The strip highlights the current frame and stays in sync with the toolbar — step with the arrows or buttons and the highlight moves to match. The thumbnails are quick embedded previews, so the strip stays responsive even on a long stack; the big Source pane still loads the full aligned frame when you land on it.

Frames load asynchronously — when you step to a frame that hasn’t been cached yet, the source pane shows a brief “Loading…” state. The editor pre-loads a sliding window of ±5 frames around your current position so most steps are instant. The cache is capped at 15 frames to keep memory bounded on big stacks.

Pick the frame where the feature you want is sharpest. Step around until the source pane shows what you want to see in the result.

Once the source frame looks right:

  1. Set the Size slider in the toolbar to roughly match the feature you’re cloning (a few pixels wider than the feature is usually right — too wide and you’ll overwrite nearby blend pixels that were already correct).
  2. Optionally adjust Hardness — higher hardness gives a crisper brush edge; lower hardness fades the cloned pixels into the surrounding stack for a softer transition.
  3. Click or drag on the result pane (right side). The pixels under your brush get replaced by the corresponding pixels from the source pane.

You can switch source frames mid-edit. Strokes from earlier frames stay baked into the working copy; the next stroke samples from whichever frame is currently shown on the left.

ControlWhat it does
◀ / ▶Step to the previous / next source frame. (Or use arrow keys.)
Frame N of MWhich source frame is currently loaded on the left pane.
SizeBrush radius, 2–400 px.
HardnessBrush edge softness, 5–100%.
↩ / ↪Undo / Redo. One step per stroke (gesture), not per pixel.
CancelExit the editor and discard all strokes.
ApplyBake the cloned pixels into the current history entry.

In the editor:

ActionResult
Left-click and dragPaint cloned pixels into the result.
Scroll / PinchZoom centered on the cursor (synced across both panes).
⌘ + scroll / Ctrl + scrollResize the brush.
⌥ + drag / Alt + dragPan the canvas (synced across both panes).
Double-clickReset zoom to fit.
Left / Right arrowStep to previous / next source frame.
Click a filmstrip thumbnailJump straight to that source frame.
⌘Z / Ctrl+ZUndo last stroke.
⌘⇧Z / Ctrl+Shift+ZRedo.
EscCancel.
  • Zoom in first. Cloning at fit-to-window zoom oversizes the brush. Zoom to at least 100% so the brush size you pick matches the feature you’re targeting.
  • Scan frames before painting. It’s tempting to start painting from frame 0; almost always there’s a better source frame deeper in the stack. Click along the filmstrip to find the one frame where the feature is sharpest — that’s the whole point of Source Cloning.
  • Short strokes, not one long drag. Undo works per-stroke, not per-pixel — keep strokes short so a mistake is one Undo away.
  • Combine with Masks for adjustments. Cloned pixels live in the same color space as the rest of the stack, so the Subject / Background masks still cover them correctly after Apply. Clone first, then mask-and-adjust.
  • Editor overview
  • Retouch — for dust spots and small blemishes, not feature restoration.
  • Masks — Subject / Background masks recompute after Apply.
  • Saving — your cloned pixels are baked into the saved file.