Nodes/WAS Affine/Affine Dot Screen Noise Options
ComfyUI Node

Affine Dot Screen Noise Options

Halftone dots, with a little chaos

By WASasquatch·Created about a year ago·Updated 4 months ago· 5
Affine Dot Screen Noise Options
    • noise_options
    dot_cell_size10
    dot_jitter_px1.6
    dot_fill_ratio0.32

    Dot screen is the halftone pattern - the dots you see in newspaper photos when you get close. In WAS Affine it's a dot_screen_jitter mask: dots laid out on a grid, each one nudged off its ideal position by a random jitter so it doesn't look mechanical. Affine Dot Screen Noise Options tunes it and emits a noise_options DICT.

    The knobs

    • dot_cell_size (default 10) - the halftone cell size in pixels. Small = dense fine dots, large = big obvious halftone.
    • dot_jitter_px (default 1.6) - random jitter amplitude for each dot's center. This is what separates "organic halftone" from "printed grid."
    • dot_fill_ratio (default 0.32) - target area coverage per cell, 0–1. Higher = fatter dots that nearly touch; lower = sparse dots.

    How it fits

    Wire the DICT into the noise_options input of Latent Affine, an affine sampler, or Affine Pattern Noise. The defaults are decent - cell size 10 with 1.6px jitter reads as fine texture rather than obvious dots. Bump cell_size up (say 20+) and lower the jitter if you want an actual comic-book halftone look, which is really the only reason to reach for this pattern: it's the most stylized of the geometric masks.

    Like the other pattern options, the node is layered on top of your base options DICT, overriding only the dot_* keys. Blur in the common options will soften the dot edges; mask_strength scales the whole effect.

    Installing

    Part of WAS Affine by WASasquatch. ComfyUI Manager → Install Custom Nodes → search "WAS Affine" → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/WASasquatch/was_affine
    

    Restart ComfyUI. ComfyUI 1.0.0+, torch and numpy.

    Common issues

    With fill_ratio pushed high and big cells, adjacent dots merge into an uneven grid and the mask can turn into visible noise patches - keep fill_ratio modest and let mask_strength do the heavy lifting instead. If the dots look too regular even after jitter, remember jitter is per seed/frame: change the affine seed or enable per-frame mode in the affine node to scatter them differently. And, as ever: no connection, no effect.

    Categorylatent/adjust

    Inputs (3)

    NameTypeDefaultDescription
    dot_cell_sizeINT102–256Halftone cell size in pixels.
    dot_jitter_pxFLOAT1.60–10Random jitter amplitude in pixels for dot centers.
    dot_fill_ratioFLOAT0.320.01–0.95Target area coverage per cell (0-1).

    Outputs (1)

    NameTypeDescription
    noise_optionsDICT