seg_wiring_variation — EMPROOF wiring op

• Data kinds: labels2d × labels2d × table → table

• Call: import fullseye as fs; fs.ledger.seg_wiring_variation(a, b, synapses, spacing=None, background=0) (implementation को सीधे call करना हो तो import segcompare; segcompare.seg_wiring_variation(a, b, synapses, spacing=None, background=0), registry से लेना हो तो opsemproof.get("seg_wiring_variation"))

उपयोग

candidate segmentation b truth a के wiring diagram को कितना बिगाड़ता है, bit में।

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

Two levels, both VOI split / merge (synapses as in seg_synapse_partners):

• synapse ends (split / merge, voi): the segmentation VOI measured only at the 2n synapse ends instead of every pixel. split = two ends on one true neuron now on different objects (the neuron was cut between its synapses); merge = ends on different true neurons now on one object (they were glued). Cutting a neuron whose s ends divide s1 / s2 raises split by exactly (s / 2n)·H2(s1 / s). Pixels far from any synapse cost nothing here.

• connections (connection_split / connection_merge): synapses grouped by their (pre object, post object) pair — one true connection scattered over several, or different true connections fused into one (synapses attributed to the wrong partner). A connection with a single synapse cannot scatter, so this level is blind to cuts that only rename a one-synapse connection; the ends level is not.

Provenance: the ends level is the "synapse VI" of Plaza, Scheffer & Chklovskii 2014 (*Focused proofreading*, arXiv:1409.1199; VI over the voxels carrying synaptic annotations, implemented in NeuroProof, C++). The connection level, the lost-synapse convention and the per-edit closed forms ((s/2n)·H2(s1/s) for a cut) are this module's. Synapses with an end on background in the truth are dropped; in the candidate, each such synapse is lost and counted in n_lost as its own singleton at both levels (not one shared "background" object, which would fake a huge merge). Also returns split_connections (true connections spread over 2+ candidate ones), merged_connections (candidate connections holding synapses of 2+ true ones), edges_a / edges_b and n (synapses scored).

Raises ValueError: as seg_synapse_partners; shapes of a and b differ; no synapse left after dropping background in the truth.

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

• emproof 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 में दिए गए हैं।

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

• poc_em_wiring_errors — py -3.11 examples/poc_em_wiring_errors.py

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

seg_synapse_partners · seg_synapse_nri · seg_wiring_exposure

इसी category के (wiring)

seg_synapse_partners · seg_synapse_nri · seg_wiring_exposure


*Provenance: segcompare.py — EMPROOF operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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