inject op• Data kinds: labels2d → labels2d
• Call: import fullseye as fs; fs.ledger.seg_inject_split(labels, n: 'int' = 1, seed: 'int' = 0, min_area: 'int' = 4000, axis: 'str' = 'row', ignore_zero: 'bool' = True) -> 'np.ndarray' (to call the implementation directly, import emproof; emproof.seg_inject_split(labels, n: 'int' = 1, seed: 'int' = 0, min_area: 'int' = 4000, axis: 'str' = 'row', ignore_zero: 'bool' = True) -> 'np.ndarray'; from the registry, opsemproof.get("seg_inject_split"))
Plants splits for evaluation: picks n large labels, cuts each in two at the row (axis="row") or column ("col") of the pixel median, and gives one side a new id (existing maximum + 1, +2, …).
The cut is a straight line = a boundary without a membrane, the shape seg_boundary_membrane_gap should pick up. Only labels where both sides keep at least min_area / 4 px are candidates. If n cannot be obtained, ValueError. The planted pairs can be retrieved with seg_label_changes(labels, out)["split_before"].
>>> cut = seg_inject_split(labels, n=1, seed=0, axis="row")
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_em_second_opinion — py -3.11 examples/poc_em_second_opinion.py
• poc_em_split_merge_score — py -3.11 examples/poc_em_split_merge_score.py
labels2d as input)seg_membrane_chord_score · seg_boundary_membrane_gap · seg_inject_merge · seg_label_changes · seg_contingency · seg_variation_of_information · seg_rand · seg_synapse_partners
inject)seg_inject_merge · seg_label_changes
*Provenance: emproof.py — EMPROOF operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.