pub fn s_filtration(
ix: &InfonIndex<RoarPostings>,
max_s: usize,
noise: &HashSet<String>,
sample_cap: usize,
) -> Vec<Level>Expand description
Sweep the overlap threshold from 1 to max_s, reporting both topologies at each level.
This is the s-filtration. At s = 1 a single shared item connects almost everything, which is the
regime where an unguarded walk drifts to somewhere unrelated to where it began. Raising s demands more
agreement per step: edges fall away while component counts climb, so genuine structure separates from
coincidence.
sample_cap bounds the edges returned per level; the counts are always exact.