Nodes/WAS Affine/Affine Tile Lines Noise Options
ComfyUI Node

Affine Tile Lines Noise Options

Affine's tile-oriented lines

By WASasquatch·Created about a year ago·Updated 5 months ago· 5
Affine Tile Lines Noise Options
    • noise_options
    tile_line_tile_size24
    tile_line_freq_cyc_px0.55
    tile_line_jitter0.25

    WASTileLinesOptions is the config node for Affine's tile_oriented_lines pattern, and it's the most visibly constructed mask in the WAS Affine pack. The image gets chopped into a grid of tiles, and each tile gets a short line pattern at its own orientation. The result is a mask that looks like a crosshatch made by a slightly drunk tiler - and that's the feature, not a bug.

    Where organic patterns like Perlin or Worley fade into the background of an image, tile lines announce themselves. So you reach for this when you want a geometric texture: fabric weave, brushed metal, architectural screening, halftone-ish grille work. In the README's own pattern guidance, cross-hatch and the geometric family are the ones it suggests for architectural subjects, and tile-oriented lines is the same instinct with more visible structure per tile.

    How it works

    Three inputs, all pattern-specific, all exactly what they sound like:

    • tile_line_tile_size (default 24, range 4–512) - the edge length of each square tile in pixels. Smaller tiles = finer grid, more orientation changes; bigger tiles = coarser, calmer pattern.
    • tile_line_freq_cyc_px (default 0.55, range 0.01–2) - line frequency inside each tile, in cycles per pixel. Higher frequency packs more lines into the tile; lower gives you spaced strokes.
    • tile_line_jitter (default 0.25, range 0–1) - how random each tile's orientation and phase is. At 0 the tiles are uniform and the pattern reads as a strict grid; as it climbs toward 1 the orientations scatter and it degrades into chaos. 0.25 is a nice middle: structure you can still read as structure.

    Because each tile's lines are independently oriented, the mask has strong high-frequency content at the tile boundaries - which matters when you use it for affine enhancement, because those seams are exactly where texture gets injected. Keep tile_line_jitter low if you want a clean, design-y look; push it up for something more like noise.

    It outputs the standard noise_options DICT. Wire it into the noise_options input on Latent Affine, KSampler Affine Advanced, or the Ultimate Affine KSampler variants, and set that node's pattern to tile_oriented_lines. noise_options overrides the base options dict where keys collide, per the source.

    Installing it

    It's part of WAS Affine (WASasquatch/was_affine), by the author of the WAS Node Suite. Install via Manager (search "WAS Affine") or:

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

    Restart after. No models to fetch; deps are torch/numpy (plus matplotlib in requirements.txt). It doesn't need UltimateSDUpscale installed despite the sampler names.

    The catch

    • This pattern fights back if you're subtle about it. Tile lines at default settings are a lot of structure. If you just want gentle texture you'll usually be better served by perlin or velvet noise; reach for tile lines when the geometric look is the point.
    • Watch your scale setting. With a busy mask like this, a max_scale above ~1.05 on the integrated samplers can push the tiles into visible banding.
    • tile_line_freq_cyc_px interacts with resolution - a frequency that looks right at 512px gets dense at 2K. Tune it per output size rather than assuming one setting ports over.

    A purpose-built geometric pattern for when organic just isn't the vibe.

    Categorylatent/adjust

    Inputs (3)

    NameTypeDefaultDescription
    tile_line_tile_sizeINT244–512Tile edge length in pixels. Each tile has an oriented line pattern.
    tile_line_freq_cyc_pxFLOAT0.550.01–2Line frequency in cycles per pixel inside each tile.
    tile_line_jitterFLOAT0.250–1Randomness of tile orientation/phase [0-1].

    Outputs (1)

    NameTypeDescription
    noise_optionsDICT