artificial-life op• Datenarten: image → image
• Aufruf: fullseye.apply(img, "alife_sandpile", a=0.5, b=0.5) (das 2-D-Modell ist ein Bild plus zwei skalare Regler a,b∈[0,1])

*Die Abbildung ist die tatsächliche Ausgabe auf einer synthetischen 128×128-Eingabe. Links Eingabe, rechts Ausgabe. Punktwolken als Draufsicht-Streudiagramm (Helligkeit = z), 1-D-Reihen als Linie, Volumen als Maximum-Projektion entlang z, Videos als mittleres Bild, komplexe Bilder als Betrag; Rückgabewerte, die kein Bild ergeben, werden als Werte gezeigt.*
Regler a durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):
▸ alife_sandpile: Regler a durchfahren (Doku-Website)
Regler b durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):
▸ alife_sandpile: Regler b durchfahren (Doku-Website)
Auf anderen Bildern (synthetische Szene / Foto / Münzen. Obere Reihe: Eingaben, untere Reihe: deren Ausgaben. Regler auf Standard):
▸ alife_sandpile: andere Eingaben (Doku-Website)
*Die 4. Spalte ist eine Farb-Eingabe (H,W,3). Dieser Op verarbeitet Farbe, ohne Kanäle zu vermischen (er faltet den Farbkanal nicht als dritte Raumachse).*
Abelscher Sandhaufen / selbstorganisierte Kritikalität (Bak-Tang-Wiesenfeld 1987).
> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.
The image is quantised to integer grain heights h = round(K * image) with K = 4 + int(12a), then relaxed by the BTW toppling rule: a cell with 4 or more grains gives one grain to each orthogonal neighbour and keeps the rest. The boundary is dissipative (grains leaving the grid are lost), which is what lets the pile settle into the self-organised critical state where every cell holds at most 3 grains.
a sets the initial grain scale K (how supercritical the pile starts); b sets the number of parallel relaxation sweeps 1 + int(50b). For b >= 0.9 the pile relaxes *toward* stability with early termination, but the sweep count is bounded by a total-work budget (_SANDPILE_BUDGET grain- updates) so the op stays fast on any image size: a small or varied pile reaches the stable critical state (every cell <= 3), while a very large maximally-supercritical pile is only partially relaxed (full BTW stabilisation is O(L^2) sweeps). Returns h / max(h) in [0, 1]; a fully relaxed pile (max 3) takes values in {0, 1/3, 2/3, 1} (or {0, 1/2, 1} when the stable maximum is 2).
• Leitfaden zur Familie gallery2d_physics_alife_3d
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
Das Programm unten ist nachweislich lauffähig (gleiche Eingabe wie die Abbildung). In der Studio-Hilfe wird dieser Block zu Schaltflächen, die es sofort laden und ausführen.
alife_sandpile 0.50 0.50
▸ Diese Pipeline laden · Laden & ausführen
• gallery2d_physics_alife_3d — py -3.11 examples/gallery2d_physics_alife_3d.py
image als Eingabe)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_reaction_bz
*Provenance: ops.py — 2D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.