core op• Data kinds: matrix → table
• Call: import fullseye as fs; fs.ledger.graph_kcore(adj, mode='total', weighted=False) (to call the implementation directly, import graphinv; graphinv.graph_kcore(adj, mode='total', weighted=False); from the registry, opsgraph.get("graph_kcore"))
k-core (or weighted s-core) decomposition of a wiring matrix — every node's core index.
A k-core is the maximal subgraph in which every node has degree at least k (Seidman
1983); a node's core index is the largest k of a core it belongs to. `mode` picks
the degree: `"in" (inputs a node receives), "out", "total"` (in + out; a
reciprocal pair counts twice, as in :func:conngraph.graph_rich_club) or
`"undirected"` (an edge in either direction counts once — this is what
`networkx.core_number computes on the symmetrised graph). With weighted=True` the
degree is the strength (sum of weights, e.g. synapse counts) and the result is the
s-core of Eidsaa & Almaas 2013: the index is the running maximum of the minimum
strength during peeling, so it is a real number with the units of the weights.
Self-loops are dropped.
Returns a dict: `core` (n,) — the index per node (int for k-core, float for s-core);
`kmax — the innermost index; inner` (n,) bool — nodes of the innermost core;
`n_inner; levels — the distinct indices in increasing order and counts` — how
many nodes have each (`sum(counts) == n); mode; weighted`.
Identities (the tests): a complete graph on n nodes has every index n−1; a tree 1;
a cycle 2; `undirected agrees with networkx.core_number` on random graphs;
the s-core of a 0/1 matrix equals the k-core; multiplying every weight by c multiplies
every s-core index by c; the innermost core is never empty and every one of its nodes
has at least `kmax` (weighted: strength) inside the core.
Raises `ValueError: as :func:graph_degree_summary` (non-square, negative,
non-finite, string / bool / complex / masked input); `mode` not one of
in / out / total / undirected.
• 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_worm_core_persists — py -3.11 examples/poc_worm_core_persists.py
table as input)graph_edge_consensus · graph_core_persistence · tree_morphometry · tree_sholl · tree_run_length
core)*Provenance: graphinv.py — GRAPH 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.