alife_sandpile — 2D artificial-life op

• Data kinds: image → image

• Call: fullseye.apply(img, "alife_sandpile", a=0.5, b=0.5) (2-D model = एक image + दो scalar knobs a,b∈[0,1])

alife_sandpile: input → output

*Figure synthetic 128×128 input पर सच में चलाकर मिला output है। बाईं ओर input, दाईं ओर output। Point clouds ऊपर से देखे गए scatter के रूप में (brightness = z), 1-D series line के रूप में, volumes z दिशा में maximum-intensity projection के रूप में, videos बीच के frame के रूप में, complex images amplitude के रूप में, और जो return values चित्र नहीं बन सकते वे स्वयं values के रूप में दिखाए जाते हैं।*

Knob a को बदलकर (0.1 / 0.5 / 0.9, दूसरा knob default पर):

▸ alife_sandpile: knob a को बदलने का figure (docs site)

Knob b को बदलकर (0.1 / 0.5 / 0.9, दूसरा knob default पर):

▸ alife_sandpile: knob b को बदलने का figure (docs site)

दूसरी images पर भी (synthetic scene / photo / coins। ऊपर की row में inputs, नीचे की row में उनके outputs। Knobs default पर):

▸ alife_sandpile: दूसरी images पर output (docs site)

*चौथा column colour (H,W,3) input है। यह op channels को पार किए बिना colour संभालता है (colour channel को तीसरे spatial axis की तरह convolve नहीं करता)।*

उपयोग

Abelian sandpile / self-organised criticality (Bak-Tang-Wiesenfeld 1987)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

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).

उपयोग की विस्तृत guide

• gallery2d_physics_alife_3d family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

Studio में आज़माएँ

नीचे का program सच में चलता है, यह जाँचा गया है (figure वाला ही input)। Studio की help में यह block buttons बन जाता है, जिनसे इसे वहीं load करके चलाया जा सकता है।

alife_sandpile 0.50 0.50

▸ यह pipeline load करें  ·  Load करके चलाएँ

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• gallery2d_physics_alife_3d — py -3.11 examples/gallery2d_physics_alife_3d.py

वे अगले ops जिनसे type जुड़ता है (image को input के रूप में लेते हैं)

identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter

इसी category के (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. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.