suspect op• Datenarten: labels2d × image2d → table
• Aufruf: import fullseye as fs; fs.ledger.seg_membrane_chord_score(labels, membrane, tau: 'float' = 0.2, band: 'int' = 4, min_area: 'int' = 1500, min_segment: 'int' = 20, normalize: 'bool' = True, ignore_zero: 'bool' = True, max_points: 'int' = 400, min_hole: 'int' = 4) -> 'dict' (die Implementierung direkt: import emproof; emproof.seg_membrane_chord_score(labels, membrane, tau: 'float' = 0.2, band: 'int' = 4, min_area: 'int' = 1500, min_segment: 'int' = 20, normalize: 'bool' = True, ignore_zero: 'bool' = True, max_points: 'int' = 400, min_hole: 'int' = 4) -> 'dict'; aus dem Register: opsemproof.get("seg_membrane_chord_score"))
• GPU: nein (nur CPU-Referenzimplementierung)
Verdacht auf Verschmelzung: Länge der Membran-"Sehne", die das Innere eines Labels durchquert / Durchmesser des Labels. Eine Zeile pro Label (Zusammenhangskomponente).
Vorgehensweise: Machen Sie Pixel mit einer Membranreaktion > „Tau“ innerhalb der Komponente (innerhalb „Band“ px von der Grenze) in 8 verbundene Komponenten. Für jede Membrankomponente, die größer oder gleich „min_segment“ px ist, verdicken Sie sie um 3 px zur Grenzseite („Abstand ≤ Band + 3“). Die Sehnenlänge ist der Abstand zwischen den beiden am weitesten entfernten Pixeln, die berührt werden können. Punktzahl = maximale Akkordlänge / Quadratfuß (Fläche). Eine Membran, die zwei Grenzen verbindet (= Grenze zwischen zwei eingefügten Zellen) hat einen Wert von ≈ 1 und Fragmente, die die Grenze nicht berühren, sind 0 oder klein. Membrankomponente mit Löchern (min_hole Loch größer als px = geschlossener Ring = Mitochondrien/Vesikel) wird von String-Kandidaten ausgeschlossen --- An zwei Punkten auf der Grenze Da die sich berührenden Ringe dieselben „zwei entfernten Punkte“ wie die Saiten haben, teilen wir sie zunächst nach dem Vorhandensein oder Fehlen von Löchern auf. Die bogenförmig geschnittene Membran ist Dies kann nicht ausgeschlossen werden (der Hauptgrund dafür, dass die AUC in realen Daten nicht 1 erreicht).
CREMI-Probe A (12 Querschnitte von 512², Prototyp), künstliche Fusionskomponente im Vergleich zu anderen: AUC 0,83 (Tau 0,2).
Spalten: „label“ / „component“ / „area“ / „score“ / „chord_px“ / „n_segments“ / „cy“ / „cx“. (Bewertung in absteigender Reihenfolge). Komponenten kleiner als „min_area“ werden nicht gezählt (kleine Fragmentakkorde werden immer höher herauskommen, da sie dem Durchmesser entsprechen).
>>> table = seg_membrane_chord_score(labels, seg_membrane_response(raw))
>>> table["label"][:5], table["score"][:5] # Am verdächtigsten
• Leitfaden zur Familie emproof
• 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_em_second_opinion — py -3.11 examples/poc_em_second_opinion.py
table als Eingabe)seg_synapse_partners · seg_wiring_variation · seg_synapse_nri · seg_wiring_exposure
suspect)*Provenance: emproof.py — EMPROOF 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.