inject oplabels2d × labels2d → tableimport fullseye as fs; fs.ledger.seg_label_changes(before, after, min_pixels: 'int' = 1, ignore_zero: 'bool' = True) -> 'dict' (実装を直接呼ぶなら import emproof; emproof.seg_label_changes(before, after, min_pixels: 'int' = 1, ignore_zero: 'bool' = True) -> 'dict'、台帳から引くなら opsemproof.get("seg_label_changes"))2 枚のラベル画像の差を融合と分断の対として返す(校正の前後、または仕込んだ誤りの答え合わせ)。
before のラベル b と after のラベル a が同じ画素を min_pixels 以上共有する対を数え、
merge_after / merge_before(対ごとに 1 行。
吸った側の id 自身も before の 1 つとして並ぶ)split_before / split_after(同様に
残った側の id も並ぶ)
n_merged / n_split は誤りの数(after 側・before 側の id で数える)。id の一致は見ない
(ラベルを振り直した 2 枚でも使える)。ch = seg_label_changes(truth, seg_inject_merge(truth)) int(ch[“n_merged”]) 1
py -3.11 examples/poc_em_second_opinion.pytable を入力に取れる)—
inject)seg_inject_merge · seg_inject_split
Provenance: emproof.py — EMPROOF operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.