THALis: rhythmic-EEG TDA comparisons
Riemannian vs no-Riemannian runs: what actually changed besides the name? scale, dimension, distance... keep those matched before getting excited about different loops
commit 09f599e: tda_eeg_pipeline.py, playground.py, extensions to tda.py, and a tda CLI mode. Results include February 22 rhythmic runs 1–3, _noriemann variants, and a Schirrmeister reference-dataset analysis with revised/fixed versions.
outputs to inspect: persistence diagrams, Betti-number comparisons, bottleneck distances, delay embeddings, sliding-window Betti curves and summary figures. Keep the corresponding .npz/configuration artifacts with each plot rather than comparing images alone.

Persistence thresholds by homology dimension

Adaptive epsilon selection code
ablation question: what changes when covariance/Riemannian preprocessing is removed, with all other choices held fixed? “No Riemannian” can alter scale, dimension or distance structure, so the precise input to each filtration must be documented.
review questions: are conditions balanced by sample/window count, how are phase boundaries defined, and is the reference dataset processed with the same conventions? A reference dataset is a useful external comparison; calling it validation of the full theory requires more evidence than its inclusion in the pipeline.
archived code references: 09f599e.
