artificial-life op• Data kinds: image → image
• Call: fullseye.apply(img, "alife_reaction_bz", a=0.5, b=0.5) (the 2-D model is one image plus two scalar knobs a,b∈[0,1])

*The figure is the real output on a synthetic 128×128 input. Left: input, right: output (a non-image return value is shown as the value itself).*
Belousov-Zhabotinsky-like excitable medium (Greenberg-Hastings automaton).
A 3-state excitable lattice -- 0 = rest, 1 = excited, 2 = refractory -- with
the Greenberg-Hastings rule: an excited cell becomes refractory, a refractory
cell relaxes to rest, and a resting cell fires when at least `thr` of its 8
Moore neighbours are excited. Because a refractory cell cannot be re-excited,
excitation cannot back-propagate and the fronts organise into the travelling
waves and rotating spirals of the BZ reaction. The image tertiles set the
initial state (>2/3 excited, 1/3..2/3 refractory, else rest). `a` sets the
excitation threshold thr = 1 + int(3a) neighbours, `b` the step count
1 + int(20b). Returns state/2.
• gallery2d_physics_alife_3d family guide
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
The program below has been verified to run (same input as the figure). In Studio's help this block becomes buttons that load and run it on the spot.
alife_reaction_bz 0.50 0.50
▸ Load this pipeline · Load & run
• gallery2d_physics_alife_3d — py -3.11 examples/gallery2d_physics_alife_3d.py
• sim2real_and_alife — py -3.11 examples/sim2real_and_alife.py
image as input)identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter
artificial-life)alife_gray_scott · alife_turing · alife_life_step · alife_cyclic_ca · alife_perona_malik · alife_curvature_flow · alife_dla · alife_wolfram1d
*Provenance: ops.py — 2D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.