Methods
Onset estimation and the resolution criterion
Each candidate response is fitted by several independent onset estimators (a derivative-based estimator, a change-point estimator, and a bounded exponential fit). A latency is called resolved only when those estimators agree to within a fixed spread criterion; otherwise the response is detected but its timing is not identified. Detection and resolution are different states and are never merged.
One-sidedness
Every estimator's search window begins at the omitted event, and the exponential fit's onset parameter is bounded below at zero. A response that deviates before the event lands on the bound or returns undefined; it can never be reported as a negative latency. Across the whole corpus there are zero negative onsets in any onset column of either modality.
One-sidedness alone is not sufficient. A step placed well before the event can still yield a one-sided but meaningless value from a single estimator; what rejects that case is the estimator-agreement criterion, not the bound.
Inferential unit and permutation scheme
The session is the inferential unit. Each session contributes one difference Ds. The primary test is an exact exhaustive sign-flip permutation: under the null that Ds is symmetric about zero, every one of the 2k sign assignments over the k non-zero sessions is equally likely, and all of them are enumerated. The test has no seed and no resample count.
Wilcoxon signed-rank and sign-test values appear in the tables as secondary diagnostics only. SciPy's exact Wilcoxon null is valid only without ties, and all three Ds vectors contain ties, so that value is explicitly not used as a headline test.
Intervals and multiplicity
Proportions use exact Clopper–Pearson intervals — no RNG, no seed, no resample count. Latency uncertainty uses a bootstrap SD, reported as ±1.96 × SD. Where a family of tests is corrected, Holm is used and controls FWER; Holm and Benjamini–Hochberg control different rates and are never conflated.
Constants
| Constant | Value | Role |
|---|---|---|
| Estimator spread criterion | ≤ 50 ms | defines resolved |
| Bootstrap identifiability floor | 0.5 | minimum bootstrap identification rate |
| Minimum units per sign (Test 1) | 3 | session eligibility |
| Minimum units with ΔT (Test 3) | 3 | session eligibility |
| LOW bands | theta, alpha | Test 2 grouping |
| HIGH bands | beta, low_gamma, high_gamma | Test 2 grouping |
| Onset search lower bound | 0 ms | enforces one-sidedness |
| |ΔT| descriptive threshold | 50 ms | display only, not inferential |
Censoring
Because the search bound is zero, a response whose true onset precedes or coincides with the event is left-censored at the bound. This is not uniform across frequency: it dominates beta (17 of 36 resolved cells pinned) and is rare elsewhere. Beta latencies are therefore never presented as a distribution.
What is deliberately not done
- No common-axis SPK-vs-LFP figure — held until the LFP side can be shown as intervals with censoring state rather than points.
- No area-latency hierarchy — area and subject are confounded.
- No directional or causal LFP→SPK claim — nothing here tests direction.
- No naive beta onset distribution — it would report a bound.
- No theta/alpha corpus latency claim — 3 and 5 resolved cells respectively.