seg_membrane_response — EMPROOF response op

• Data kinds: image2d → image2d

• Call: import fullseye as fs; fs.ledger.seg_membrane_response(image, sigma: 'float' = 1.5, normalize: 'bool' = True) -> 'np.ndarray' (to call the implementation directly, import emproof; emproof.seg_membrane_response(image, sigma: 'float' = 1.5, normalize: 'bool' = True) -> 'np.ndarray'; from the registry, opsemproof.get("seg_membrane_response"))

Usage

Response [0, ∞) to the dark lines (cell membranes) of an EM section. From the eigenvalues λ1 ≥ λ2 of the Gaussian-smoothed Hessian, max(λ1 − |λ2|, 0) (the closed form of Steger's line detection, scale-normalized by σ²).

On a dark line the 2nd-order derivative across it is large and positive (λ1) and along it 0 (λ2), so λ1 − |λ2| rises. Dark clumps (mitochondrial interiors, synaptic vesicles) have λ1 ≈ λ2 > 0, which cancel out to near 0 -- only membranes are picked up. normalize=True sets the 99.5 percentile of the section to 1 (the thresholds of seg_* are written on that scale). If scikit-image is available, the registry's sk_frangi (fs.apply(img, "sk_frangi", a=0.5, b=0.5)) can also fill the same slot (the prototype measured AUC with that one).

Parameters

image : (H, W) float

Raw EM (bright = cytoplasm, dark = membrane). Any range (only gradient ratios are looked at).

sigma : float

Smoothing σ [px]. About half the membrane thickness (1.5-2.5 for CREMI at 4 nm/px).

Detailed usage guide

• emproof family guide

References (sample data, literature)

• 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.

Runnable examples (verified samples that actually call this op)

• 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

Ops the type connects to (they accept image2d as input)

seg_membrane_chord_score · seg_boundary_membrane_gap

Same category (response)

—


*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.