Files
tono/docs/nodes/Mask Noisify.md
2026-04-04 00:25:53 -07:00

1.5 KiB

Mask Noisify

Add random noise to a binary mask by flipping pixels near boundaries. Equivalent to Gwyddion's mask_noisify.c.

Inputs

Name Type Required Description
mask IMAGE Yes Binary mask to perturb
field DATA_FIELD No Optional field for preview background display

Outputs

Name Type Description
mask IMAGE Noisified binary mask

Controls

Name Type Default Description
density FLOAT 0.1 Fraction of candidate pixels to flip (0.0--1.0)
direction dropdown both Which pixels to perturb: add (grow mask), remove (shrink mask), or both
boundaries_only BOOLEAN True Only modify pixels adjacent to a mask boundary
seed INT 42 Random seed for reproducible results (0--999999)

Notes

  • Boundary detection uses four-neighbour comparison (up, down, left, right) via np.roll. A pixel is a boundary pixel if it differs from at least one of its four neighbours.
  • Direction modes control which candidates are eligible: "add" selects only unmasked boundary pixels, "remove" selects only masked boundary pixels, and "both" selects all boundary pixels.
  • Setting boundaries_only to False allows any pixel in the mask to be a candidate, not just those at edges.
  • The seed parameter ensures deterministic output for a given input, which is useful for repeatable experiments.