wiring oplabels2d × table → tableimport fullseye as fs; fs.ledger.seg_wiring_exposure(labels, synapses, spacing=None, background=0, p=0.5) (実装を直接呼ぶなら import segcompare; segcompare.seg_wiring_exposure(labels, synapses, spacing=None, background=0, p=0.5)、台帳から引くなら opsemproof.get("seg_wiring_exposure"))How much wiring each object stakes on staying one piece — from synapse end counts alone.
Cutting an object whose s synapse ends (synapses as in :func:seg_synapse_partners)
fall s1 / s - s1 on the two sides costs exactly (s / 2n) * H2(s1 / s) bits of
ends-level split (:func:seg_wiring_variation), and a hidden merge of two neurons inside
one object costs the same expression as merge. So what an object can cost is fixed by its
end count before any geometry is known:
bound = s / 2n — the supremum over all cuts (reached when the ends halve). The bounds
sum to n_ends / 2n: exactly 1 bit when no end lies on background.worst = (s / 2n) * H2(floor(s / 2) / s) — the largest cost a cut can actually reach.expected = (s / 2n) * E[H2(K / s)], K ~ Binomial(s, p) — the cost of a cut that
puts each end on the cut-off side independently with probability p (default 1/2,
the cut through the object’s median voxel with ends spread evenly over it). This is the
count-only prediction; the gap to the observed cost is the spatial clustering of the ends.density = (s / 2n) / (voxels / N) — the object’s share of ends over its share of the
N voxels of the volume. For an edit, wiring bits / pixel bits = density × (H2 of the
end fractions / H2 of the voxel fractions): merges have the second factor near 1 (ends
follow voxels), so their ratio is the density; a cut’s second factor is
H2(s1 / s) / 1 and is what the binomial predicts.Objects with no end are not listed. Returns labels, voxels, ends, density,
bound, worst, expected (aligned arrays), n synapses, n_ends kept,
n_background ends dropped, total_bound, total_expected.
Raises ValueError: as :func:seg_synapse_partners; p not strictly inside
(0, 1); no end outside the background.
py -3.11 examples/poc_em_wiring_errors.pytable を入力に取れる)seg_synapse_partners · seg_wiring_variation · seg_synapse_nri
wiring)seg_synapse_partners · seg_wiring_variation · seg_synapse_nri
Provenance: segcompare.py — EMPROOF operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.