`build.misf()` exposes the maximal independent set filtration already constructed internally by the GRIP layout engine. The result is graph-first: you can supply either an edge list plus `n`, or an adjacency/weight-list pair.
build.misf(
edges = NULL,
n = NULL,
adj_list = NULL,
weight_list = NULL,
edge_weights = NULL,
num_init = 24L,
num_nbrs = 20L,
seed = 6L
)An object of class `"grip_misf"` containing:
Named list `V0, V1, ...` of nested vertex sets (1-based).
Integer vector giving the highest MISF level containing each vertex.
The internal GRIP MISF order (1-based vertex ids).
Sizes of the nested levels.
Per-level retained neighborhood counts used by the current GRIP engine.
Highest MISF level index.
Size of the highest MISF level.
Two-column integer matrix of undirected edges (1-based vertex ids).
Number of vertices.
Optional adjacency list (1-based integer vectors).
Optional positive edge-weight list parallel to `adj_list`.
Optional positive vector parallel to `edges`.
Target top-level active-set size used by the current GRIP MISF builder. The returned highest MISF level has size at most `min(num_init, n)`.
Retained local neighborhood budget per MISF level, matching the current GRIP refinement schedule metadata.
Optional integer seed passed to the current GRIP graph RNG.
The current implementation returns the same MISF structure used by GRIP's multiscale layout core. Edge weights are accepted and passed through the underlying graph object, but the current MISF construction itself is driven by the graph topology and hop-distance thresholds rather than weighted shortest-path distances.
edges <- edges.mesh(4, 4)
misf <- build.misf(edges = edges, n = 16, num_init = 6, seed = 1)
misf$misf_size
misf$levels[[1L]]
Run the code above in your browser using DataLab