tree op• Data kinds: table × signal → table
• Call: import fullseye as fs; fs.ledger.tree_run_length(tree, labels, background=0, zero_labels=None) (implementation को सीधे call करना हो तो import treemorph; treemorph.tree_run_length(tree, labels, background=0, zero_labels=None), registry से लेना हो तो opsgraph.get("tree_run_length"))
nodes की किसी candidate labelling के तहत skeleton की expected run length (ERL)।
> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।
labels gives, for every node of the tree table, the candidate object it falls in. A run is a maximal connected piece of the tree whose nodes all carry the same label and that holds at least one edge; its length is the cable inside it (an edge belongs to a run only if both ends share the label; a lone node between two cuts is no run). Edges touching background belong to no run. Runs whose label is in zero_labels (objects that also cover another skeleton — a merge) count as length 0, as in Januszewski et al. 2018: a merged run is not trustworthy anywhere.
erl = sum(l_i^2) / L with L the whole cable — the run length a point drawn uniformly along the skeleton finds itself in (points on cut or background edges find length 0). Also returns run_lengths (one per run, merged runs already zeroed), runs, max_run, cable_length, cut_edges (both ends labelled, differently), background_edges and merged_runs.
Identities: erl == L when every node carries one non-background label; sum(run_lengths) + cut cable + background cable == L; for any labelling with k runs and no lost cable, erl >= L / k (Cauchy-Schwarz) and erl <= max_run; a path of length L cut at m equally spaced points gives exactly L / (m + 1); cut at m uniformly random points, E[erl] = 2L / (m + 2) (Dirichlet(1, .., 1)).
Raises ValueError: not a tree table; labels not one integer per node, non-finite or non-integer.
• 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 में दिए गए हैं।
• poc_skeleton_run_length_vs_voi — py -3.11 examples/poc_skeleton_run_length_vs_voi.py
table को input के रूप में लेते हैं)graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl
tree)tree_from_swc · tree_morphometry · tree_sholl
*Provenance: treemorph.py — GRAPH operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.