tree_run_length — GRAPH 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, साहित्य)

• 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_skeleton_run_length_vs_voi — py -3.11 examples/poc_skeleton_run_length_vs_voi.py

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

graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl

इसी category के (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.