Nodes/ComfyUI-988/Divide Image Select 988
ComfyUI Node

Divide Image Select 988

The cutter in the DaC upscale pipeline

By kajan988·Created 3 months ago·Updated about a month ago· 1
Divide Image Select 988
  • image
  • dac_data
  • tiles
  • matrix
tile0

DaC Algorithm plans the tiling, Combine Tiles stitches it back - and somewhere between those two, the image has to actually be cut into tiles. That's Divide Image Select 988. It takes the upscaled image and the dac_data plan, crops out every tile at its exact coordinate, and hands them to you either all at once or one at a time. Simple job, but it's the socket the whole "process each tile independently" part of the workflow plugs into.

The name is a leftover of the node's lineage (this pack is a port of Steudio's ComfyUI_Steudio, which called it "Divide Image and Select Tile") - the "select" part is real, though: the tile input doesn't just decide how many tiles you get, it lets you pull a single tile out of the grid.

How it works

Under the hood it recomputes the tile coordinates from the dac_data (using the same shared coordinate logic the combine node uses, which is why the two always agree), then crops the image at each position. The output order follows the tile_order stored in the plan - linear or spiral - and this order is the contract you must respect downstream: Combine Tiles assumes tiles arrive in exactly this order.

The one input that matters

  • image - the upscaled image from DaC Algorithm.
  • dac_data - the plan; wire it from the same DaC Algorithm output.
  • tile - 0 returns all tiles as a list; any other N returns just tile N. That single-tile mode is how you debug one region without running the whole pipeline, or how you re-process just the tile that came out wrong.

Outputs

  • tiles - the image list (all tiles, or the single selected one). Feed it into your processing pass - img2img, an upscaler, ControlNet-tile, or straight through to Combine Tiles if you're just testing the geometry.
  • matrix - the text grid visualization again; pipe it into Display UI 988 to see the layout you're about to process before you burn the compute.

Where it fits in practice

The classic DaC workflow processes each tile through a diffusion upscaler at low denoising - the tile-ControlNet + tiled-diffusion approach the KB's upscaling essay calls "still one of the most reliable upscaling workflows for photorealistic content." Each tile is a small, VRAM-friendly generation. Divide Image Select is what makes that per-tile processing possible instead of a single out-of-memory attempt at the whole image.

Troubleshooting

  • Tiles come out in the wrong place: the dac_data and the image don't match - usually because you resized the image after the algorithm ran. Re-run DaC on the actual image.
  • A tile looks like a different image than expected: check whether your processing pass reordered the list before Combine Tiles.
  • matrix is blank: it's a string, not an image - view it through Display UI 988.

Install

Part of ComfyUI-988: Manager (search "ComfyUI-988") or:

cd ComfyUI/custom_nodes
git clone https://github.com/kajan988/ComfyUI-988
cd ComfyUI-988
pip install -r requirements.txt

Then restart. Light dependencies only; nothing to download.

Category🦇988/Image

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
dac_dataDAC_DATA
tileINT0

Outputs (2)

NameTypeDescription
tilesIMAGEList of image tiles; tile=0 returns all tiles
matrixSTRINGVisual tile matrix string