Nodes/DOGMA Nodes/DOGMA v56.4 Source-Lowfreq Tile Detail Merge
ComfyUI Node

DOGMA v56.4 Source-Lowfreq Tile Detail Merge

Throw away the generated low frequencies on purpose

By axior·Created 4 months ago·Updated 3 days ago· 1
DOGMA v56.4 Source-Lowfreq Tile Detail Merge
  • generated
  • source
  • image
  • info
mid_strength0.32
detail_strength0.90

What it is

DOGMATileDetailMergeV56 fuses a generated tile with its source tile by splitting both into three frequency bands and mixing only the two high ones. The source keeps the lowest band - geometry, lighting, colour - and the generated tile supplies mid and high frequency detail under two separate sliders.

The docstring states the guarantee plainly: "This cannot create broad generated shadow blobs, color patches or halos because the generated low-frequency band is discarded."

That's a sharper, more auditable claim than the coherence blend nodes make. Those apply a strength to the low-frequency correction, so at 0.92 you still get 8% of the generated low frequencies. Here the low band is not weighted - it's dropped. If you've ever had a tiled upscale introduce a soft dark patch across a wall, or a halo around a window, this is the structural fix rather than a settings tweak.

It's the tightest of the pack's three merge nodes and the simplest to reason about, because it's just two sliders over a fixed band split.

How it works

The band split uses two low-pass levels: an area-downsample to H/16 and back up (the deep low band, lo), and an area-downsample to H/4 and back up (4). From those:

low   = lp16
mid   = lp4 - lp16
high  = image - lp4

So mid is roughly everything between 1/16 and 1/4 of the resolution - broad shapes and soft texture - and high is everything finer. The output is:

out = source_low
    + (source_mid * (1 - mid_strength) + gen_mid * mid_strength)
    + (source_high * (1 - detail_strength) + gen_high * detail_strength)

mid_strength defaults to 0.32, so the mid band stays mostly source - that's deliberate, because the mid band is where invented structure looks like invention. detail_strength defaults to 0.90 and its range goes to 1.2, which is unusual and useful: above 1.0 it applies the generated high-frequency band boosted past its own amplitude, i.e. a controlled sharpen. Set it to 0.6 if the tile is coming back crunchy and you want the source's finer texture to dominate instead.

There's one full-resolution band reconstruction and one downsample pair per image, which makes it cheap compared to the v22 gate math.

Inputs and outputs

Four inputs, all widgets:

  • generated - the sampled tile.
  • source - the tile it came from. Resized bicubically with antialias if the dimensions disagree; repeated if it's a single image against a batch, truncated if longer.
  • mid_strength - FLOAT 0.0–1.0, default 0.32. The "how much invented structure am I willing to accept" dial.
  • detail_strength - FLOAT 0.0–1.2, default 0.90. The fine-detail dial, and the only place in this pack where you can push past 1.0.

Outputs: image and info - a line reporting the source low-frequency lock and the two strengths, plus a reminder that broad lighting, colour and geometry came from the source.

Note this one is not list-mode: it works on single images or matched batches, which is where it differs from the stitch nodes. It's meant to sit inside the tile loop right after sampling and before whatever assembles the tiles back into a canvas.

Install

ComfyUI Manager → DOGMA Nodes, or:

cd ComfyUI/custom_nodes
git clone https://github.com/axior/ComfyUI-DOGMA-Nodes
# restart ComfyUI

No external dependencies - the pack's requirements.txt contains only a comment - no model downloads and no keys. Look for it under DOGMA/v56.4, not the semantic detailer category.

Gotchas

  • Source and generated must be the same place. Nothing here checks alignment; it blends by pixel position. A mismatched pair produces a soft double-exposure look that reads like model failure.
  • mid_strength above roughly 0.5 is where invention starts being visible as invention. There's no gate to protect you, which is both the appeal and the risk.
  • The band split is fixed at 1/16 and 1/4 of the tile's resolution, so its behaviour changes with tile size. A 768px tile and a 2048px tile do not put the band edge at the same real-world scale.
  • As with the rest of this half of the pack, there are no community threads, no tutorials, and no README coverage - the docstring is the documentation, and it's one of the better ones in the repo.
CategoryDOGMA/v56.4

Inputs (4)

NameTypeDefaultDescription
generatedIMAGE
sourceIMAGE
mid_strengthFLOAT0.320–1
detail_strengthFLOAT0.900–1.2

Outputs (2)

NameTypeDescription
imageIMAGE
infoSTRING