tree op• Datenarten: table × signal → table
• Aufruf: import fullseye as fs; fs.ledger.tree_run_length(tree, labels, background=0, zero_labels=None) (die Implementierung direkt: import treemorph; treemorph.tree_run_length(tree, labels, background=0, zero_labels=None); aus dem Register: opsgraph.get("tree_run_length"))
> Für diesen Operator gibt es noch keine Übersetzung. Es folgt der Originaltext unverändert.
Expected run length (ERL) of a skeleton under a candidate labelling of its nodes.
`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.
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• poc_skeleton_run_length_vs_voi — py -3.11 examples/poc_skeleton_run_length_vs_voi.py
table als Eingabe)graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl
tree)tree_from_swc · tree_morphometry · tree_sholl
*Provenance: treemorph.py — GRAPH Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.