R CMD check.@examples added or corrected across 4 help pages. Each runs
offline in seconds, writes nothing outside tempdir(), and is executed by
R CMD check; anything needing a device, a download or an optional backend is
fenced with the reason stated.Four cases gain a foreign-implementation check; one is re-certified after an operator fix.
An audit of what actually validates each published claim found that ~14 % rest on operators whose only "benchmark" re-ran the same ecosystem code on a captured intermediate — an agreement with itself. That is the blind spot that hid the two reader defects corrected in 0.7.2. The highest-exposure members now have genuinely independent comparators, each bound as a claim so a future divergence fails certification:
gait-grf-gaitrec — the six group-mean vertical-GRF landmarks are
bit-identical to a window-free scipy.signal.find_peaks implementation
with prominence-based hump selection. This operator feeds eight GaitRec
cases and was the single largest unguarded surface in the corpus.gait-regularity-rqa-pamap2 — DET/LAM/RR identical (0.000e+00) to an
independent NumPy recurrence quantification. The two shared conventions
(Theiler window 0; the line-of-identity counted in vertical lines) are stated
in the case, so the comparison is honest about what it does not establish.adl-freeliving-pamap2 — the Rowlands intensity gradient identical
(0.000e+00) to GGIR's own g.intensitygradient on the same ENMO epochs;
GGIR's additional [4000,8000) mg bin is empty for this recording and that is
stated rather than silently reconciled.tms-eeg-tep-tesa — the TMS-evoked potential reproduces MNE-Python to a
minimum per-channel correlation of 1.000000. Scope stated: this validates
the baseline correction and component extraction, not the upstream 150-trial
averaging, whose epoched input is not tracked.gait-grf-dynrange-pathology-gaitrec is re-certified against a root
re-extracted with the corrected grfLandmarks() (PhysioMoCap 0.7.3). The
cross-check above exposed a real defect: the operator searched three
overlapping windows independently, so on six of the 499 knee-pathology curves
it returned a mid-stance trough located before that curve's own loading peak.
Welch t moves 17.2623 → 17.2754, df 336.89 → 338.12, the control /
patient ratio 1.8672 → 1.8702; the finding (controls retain ~1.87× the
dynamic range) and the bit-for-bit agreement with scipy.stats.ttest_ind and
base R t.test are unchanged. The case's erratum also records why the sibling
GaitRec cases could not be re-derived: their per-subject values come from
an earlier extraction that is not row-aligned with the tracked stance curves.
Schema conformance. SCHEMA.md states that opdag holds registry tool
names, but 41 entries across the corpus did not. Corrected on the case side:
one opdag was a bare string rather than an array, hdemgDecompose was a
case-spelling of the real hdEMGDecompose, and readEDA / readEMG were role
labels standing in for the readWFDB those pipelines actually ran. With the
matching registry additions this leaves three entries — a physiopy Python op
and two role labels in gait-grf-gaitrec.
Gate + per-case audit ×114 = 0 failures; the tier split is unchanged at 109 verified / 5 validated.
Erratum release. A data-correctness defect in PhysioIO::readWFDB() (fixed
in PhysioIO 0.2.7) had offset every physical value read from MIT-BIH- and
Fantasia-style WFDB headers, and one case additionally ran on a synthetic test
fixture while claiming real MIT-BIH provenance. Fourteen cases were audited and
re-certified against corrected data; the corrections, including the one finding
that did not survive, are documented in a per-case ## Erratum section rather
than silently overwritten.
A WFDB signal line whose gain field carries no (baseline) annex — the style
of the original MIT-BIH and Fantasia headers — was read with baseline = gain
instead of the spec default baseline = ADC zero, offsetting every sample by
(adczero - gain)/gain: +4.12 mV on MIT-BIH, exactly −1 physical unit on
Fantasia. Headers carrying an explicit (baseline) (BIDMC, GRABMyo, Non-EEG)
were unaffected, as were all non-WFDB modalities. The corrected reader now
reproduces the reference implementation wfdb-python bit-for-bit
(max |difference| = 0) on both datasets — the validation this release rests on.
ecg-hrv-mitbih — two defects. Its pipeline read
PhysioIO/inst/extdata/100, a synthetic codec-test fixture (so labelled in
the commit that created it, and confirmed by the SHA-256 recorded in the
shipped bundle), while the case described its input as MIT-BIH record 100. It
now reads the tracked PhysioNet record itself: mean HR 72.03 → 75.51 bpm,
mean RR 832.99 → 794.63 ms. A sweep of all 114 cases confirmed this was
the only case whose input was a package test fixture. The page's cross-tool
HRV and detection tables were unaffected (they derive from PhysioECG's
wfdb 4.3.1-built reference fixture).ecg-qrs-benchmark-mitbih — the offset cost the detector 139 beats on
record 100 (FN 141 → 2, F1 0.9678 → 0.9993, moving it from the
"moderate" to the "clean" tier), with smaller gains on 115/103/105. Pooled
Se/PPV/F1 0.9578/0.9755/0.9666 → 0.9658/0.9759/0.9708. The .atr ground
truth never passed through the defective path and is unchanged.iqr-hrv-fantasia — the one finding that did not survive. The case
reported a right-skewed RR distribution (skewness 1.01); that skew was an
artefact of a beat the offset made the detector miss. Corrected, the
distribution is near-symmetric but heavy-tailed (skewness 0.07, excess
kurtosis 7.17). The case has been re-authored accordingly — including its
audit invariant, from skewness > 0.5 to excess kurtosis > 3 and |skewness| < 0.5, so the automated check enforces the finding actually
claimed. Its core result is unchanged and sharper: interquartileRange still
reproduces scipy.stats.iqr and base R IQR bit-for-bit, and the correction
moved SDNN by 4.4 ms while leaving the IQR at exactly 76 ms — the case's
own thesis, demonstrated by a real perturbation.poincare-hrv, hra, csi-cvi,
hti-tinn, hrv-time-neurokit, trimmed-mean-hrv, hrv-dfa-aging,
hrv-lomb, and the ecg-hrv-aging cohort) were re-run on RR roots
re-extracted with the corrected reader (+24 beats across the 10 subjects;
the f1y01 five-minute window 391 → 392 intervals). Every finding-level
invariant survived; the elderly subjects reproduced bit-for-bit throughout, an
internal consistency check. Two honest consequences are now reported rather
than smoothed: csi-cvi's NeuroKit2 agreement is no longer exactly 0 but at
the floating-point floor (~1e-13), and NeuroKit2's TINN fit is degenerate
(0 ms) on the corrected series, so hti-tinn reports a 164-vs-0 ms gap.ecg-hr-spectrum-mitbih — record 117, which carries the claims, is
unchanged to 10 decimals. Its secondary contrast records did move (115: mean
RR 924.3 → 924.7; 103: 868.6 → 868.8) and were re-derived.ecg-pvc-mitbih — unchanged: its reference-beat protocol scores the
cardiologists' own beat locations and is insensitive to the offset.agent/make_fantasia_rr_roots.R,
agent/make_<case>_artifacts.R, agent/make_<case>_figure.R). Their absence
is what made this correction laborious: the original artifacts had been
written ad hoc. Every figure that displayed a changed number was re-rendered
from the corrected artifacts.Metadata and documentation release — no case value, pipeline, bundle or tier changes.
artifacts/data_sources.json
now all record CC-BY 4.0 (PhysioNet grabmyo 1.0.2 and 1.1.0 both state the
Creative Commons Attribution 4.0 International Public License; one record had said
ODC-By v1.0 and one "PhysioNet Open Access"), and emg-spacetime-synergy-grabmyo
now carries the version DOI 10.13026/89dm-f662 stated on the PhysioNet page (its
former 10.13026/rd4p-4w49 is not stated there).index.qmd, section
"Why this case is validated, not verified") why they carry no replay bundle, with
the recomputed value where there is one: gait-promp-fukuchi (via-point pull
25.62° recomputed vs 25.8° published; promCondition version drift),
hdemg-mu-openhdemg (MU5 at the separability floor, RoA ≈ 0, under PhysioHDEMG
0.2.0 vs 0.950 published), emg-spacetime-synergy-grabmyo (LOO gesture accuracy
8/14 = 0.571 recomputed vs 9/14 = 0.643 published), eeg-berger-bids-physiopy
(Python physiopy/BIDS pipeline, no R op-DAG spec), gait-multimodal-fusion-fukuchi
(unpublished heel-strike segmentation recipe; faithful reconstruction does not
reproduce the published values).tools/validate_case.py + per-case audit.py pass for
all 114 cases (109 verified · 5 validated).Verified-tier promotion campaign: 6 → 109 of 114 cases now ship a replay bundle.
inst/cases/<id>/bundle/: the frozen pre-registration
(prereg.json, bound to case.json by its SHA-256), a run manifest with
content-addressed output hashes, a claim-by-claim verification_report.json
grounding every case claim, the terminal and external-reference comparison
tables, and a provenance summary. Replay is byte-identical: re-executing the
frozen op-DAG reproduces the terminal artifact hash exactly (stochastic operators
under their recorded seed).eeg-berger-bids-physiopy (Python/BIDS pipeline),
gait-promp-fukuchi (via-point conditioning version drift),
hdemg-mu-openhdemg (MU5 at the separability floor),
gait-multimodal-fusion-fukuchi (unpublished segmentation recipe),
emg-spacetime-synergy-grabmyo (LOO gesture accuracy from a custom
preprocessing chain whose raw multi-trial records are not tracked; faithful
reconstruction gives 8/14 vs the published 9/14).artifacts/data_sources.json is now present in all 114 cases
(licenses and DOIs for the 8 backfilled records verified against the source
repositories: MIT-BIH/eegmmidb/Non-EEG = ODC-By v1.0, GRABMyo = CC BY 4.0, with
registered PhysioNet DOIs); cohort-longitudinal-parkinsons-updrs gained its
missing gallery date.tools/validate_case.py (tier-aware
invariants, including prereg_hash == sha256(bundle/prereg.json) and
n_grounded == n_claims for verified cases) + per-case audit.py pass for all
114 cases.gait-grf-variance-levene-gaitrec — pathology flattens AND constrains the GRF.
Authoring PhysioAnalysis::leveneTest (robust Brown-Forsythe) and reusing the certified
grfLandmarks-derived dynamic range, it tests whether the five GaitRec gait classes differ in variance.
They do (Levene F(4,1839)=3.42, p=0.0086, healthy controls most variable at SD 0.128 vs pathology ~0.11)
— though the normality-sensitive Bartlett test misses it (p=0.079); the two disagree, showing why the
robust Levene is preferred. Pathology both flattens the dynamic range (lower mean) and constrains it
(lower variance). leveneTest reproduces scipy.stats.levene and car::leveneTest to machine precision.sway-retest-icc-bds — a single quiet-standing trial is reliable. Authoring
PhysioAnalysis::intraclassCorrelation and reusing the certified PhysioMoCap::swayMetrics, it
quantifies the test-retest reliability of COP path length across 3 repeated eyes-open-firm trials in 163
BDS subjects. A single trial has good reliability (ICC(2,1)=0.825) and the 3-trial average is excellent
(ICC(2,k)=0.934) — single-trial posturography is trustworthy, averaging improves it (Spearman-Brown).
intraclassCorrelation reproduces psych::ICC(lmer=FALSE) and pingouin.intraclass_corr to machine
precision. Extends the reliability/psychometrics thread (with cronbachAlpha).fes-reliability-cronbach-bds — the Falls Efficacy Scale is internally consistent.
Authoring PhysioAnalysis::cronbachAlpha (a psychometrics op), it certifies the internal-consistency
reliability of the 7 FES items in the BDS cohort (n=163): Cronbach's α = 0.823 (mean inter-item r = 0.41),
good internal consistency — the items measure a coherent single construct, justifying the summed FES score
the sway-cognition cases relied on. cronbachAlpha reproduces psych::alpha bit-for-bit and
pingouin.cronbach_alpha to machine precision. Broadens the gallery into psychometrics.sway-cognition-mlr-bds — the full multivariable model. Authoring
PhysioAnalysis::multipleRegression and reusing the certified swayMetrics-derived sway, it fits
eyes-closed-foam sway ~ age + Trail Making Test A, the fuller model the partial-correlation sibling
called for. Age is the dominant predictor (β=1.59 cm/year, p=2e-8) while TMT-A's independent contribution
is not significant (β=0.12, p=0.55); the model explains ~28% of sway variance (R²=0.276, F(2,155)=29.5).
Cognitive speed adds nothing beyond age. multipleRegression reproduces base R lm bit-for-bit and
statsmodels OLS to machine precision. Resolves the open question of sway-cognition-partial-bds.sway-4cond-nemenyi-bds — vision matters far more on foam. Authoring
PhysioAnalysis::nemenyiTest (Nemenyi post-hoc after Friedman) and reusing the certified
swayMetrics-derived per-condition sway, it runs the post-hoc the Friedman sibling deferred. All six
vision × surface condition pairs differ, but the vision effect depends on the surface: eyes-open vs
eyes-closed is only borderline on firm ground (p=0.044) yet strong on foam (p=3.1e-8) — when
proprioception is degraded, balance reweights toward vision. nemenyiTest reproduces
PMCMRplus::frdAllPairsNemenyiTest bit-for-bit and scikit_posthocs.posthoc_nemenyi_friedman to machine
precision. Resolves the open question of sway-4cond-friedman-bds, completing the post-hoc set
(Tukey/Dunn/Nemenyi).gait-grf-pushoff-dunn-gaitrec — push-off grades gait pathology. Authoring
PhysioAnalysis::dunnTest (Dunn's post-hoc after Kruskal-Wallis) and reusing the certified
grfLandmarks-derived push-off peak, it runs the post-hoc the Kruskal-Wallis sibling deferred. Healthy
controls differ from all four pathology classes (4/4), and -- unlike the dynamic range, where Tukey
found 0/6 pathology-pathology pairs -- the push-off peak separates 4/6 pathology-pathology pairs
(calcaneus distinct from ankle/knee/hip, hip from ankle): the dynamic range flags impairment, the
push-off peak grades it. dunnTest reproduces PMCMRplus::kwAllPairsDunnTest and
scikit_posthocs.posthoc_dunn to machine precision. Resolves the open question of
gait-grf-pushoff-kruskal-gaitrec.gait-grf-tukey-pathology-gaitrec — which gait classes actually differ. Authoring
PhysioAnalysis::tukeyHSD (all pairwise comparisons after one-way ANOVA) and reusing the certified
grfLandmarks-derived dynamic range, it runs the post-hoc the ANOVA sibling deferred. Healthy controls
differ significantly from all four pathology classes (every adjusted p < 2e-11) while none of the six
pathology-pathology pairs differ (smallest p = 0.61): the GRF dynamic range separates healthy from
pathological gait but not the pathologies from one another (the push-off case shows a different landmark
grades them). tukeyHSD reproduces base R TukeyHSD and scipy.stats.tukey_hsd to machine precision.
Resolves the open question of gait-grf-anova-pathology-gaitrec.sway-cognition-partial-bds — the cognitive-motor link is mostly age. Authoring
PhysioAnalysis::partialCorrelation and reusing the certified PhysioMoCap::swayMetrics, it adjusts
the sibling case's sway-cognition association for age. The rank partial correlation attenuates from a
marginal Spearman rho of 0.532 to 0.201 (p=0.012, still significant but much weaker), and the linear
(Pearson) partial correlation vanishes (0.048, p=0.55): most of the marginal link was age, though a
modest rank association survives. partialCorrelation reproduces ppcor::pcor.test and an independent
closed-form recompute to machine precision. Honestly resolves the open question of
sway-cognition-kendall-bds.sway-cognition-kendall-bds — the cognitive-motor link. Authoring
PhysioAnalysis::kendallTau (Kendall's tau-b, completing the rank-correlation trio) and reusing the
certified PhysioMoCap::swayMetrics, it correlates eyes-closed-foam COP path length with Trail Making
Test A time across 158 BDS subjects. Slower processing speed tracks more sway: tau-b = 0.368, z = 6.85,
p ~ 7.2e-12; on the same data Pearson r = 0.335 < Spearman rho = 0.532 (monotonic > linear, so a rank
correlation is preferred). kendallTau reproduces scipy.stats.kendalltau and base R
cor.test(method="kendall") bit-for-bit. Honest limits: marginal/unadjusted (age a shared correlate),
cross-sectional.gait-pushoff-age-regression-gaitrec — the healthy-aging propulsion decline.
Authoring PhysioAnalysis::linearRegression (simple OLS) and reusing the certified
PhysioMoCap::grfLandmarks, it regresses the vertical-GRF push-off peak on age in GaitRec healthy
controls (n=208, ages 15-78). The push-off peak declines at slope −0.00120 BW/year (−0.012 BW/decade;
intercept 1.144 BW), t(206)=−4.61, p~7.0e-6, R²=0.094 — a modest but highly significant decline (age
explains ~9% of the between-subject variance). linearRegression reproduces scipy.stats.linregress
bit-for-bit and base R lm to machine precision. Honest limits: young-skewed ages, cross-sectional
(not longitudinal).gait-grf-pushoff-kruskal-gaitrec — the push-off peak discriminates gait pathology.
Authoring PhysioAnalysis::kruskalTest (the non-parametric distribution-free counterpart of
oneWayAnova) and reusing the certified PhysioMoCap::grfLandmarks, it compares the vertical-GRF
push-off peak (late-stance propulsion) across five GaitRec gait classes. Because the push-off peak is
right-skewed, Kruskal-Wallis is the appropriate omnibus: the classes differ (H(4)=274.5, p~3.5e-58)
with healthy controls highest (mean 1.102 BW) and calcaneus pathology lowest (1.008 BW), ankle/knee/hip
in between — unlike the dynamic range (ANOVA sibling), which clustered the pathology classes, the
push-off peak separates them, the calcaneus propulsion deficit being most severe. kruskalTest
reproduces base R kruskal.test bit-for-bit and scipy.stats.kruskal to machine precision.sway-4cond-friedman-bds — the posturographic sensory hierarchy, tested correctly
for repeated measures. Authoring PhysioAnalysis::friedmanTest (the non-parametric within-subject
counterpart of the certified oneWayAnova) and reusing the certified PhysioMoCap::swayMetrics, it
compares COP path length across the four BDS vision × surface quiet-standing conditions on the 158
subjects measured under all four. The conditions differ overwhelmingly (Friedman Q(3)=420.1,
p~9.7e-91) in a monotone mean-rank order Open-Firm (1.31) < Closed-Firm (1.69) < Open-Foam (3.08) <
Closed-Foam (3.92): each sensory challenge adds sway, and softening the surface (proprioception)
dominates closing the eyes (vision). friedmanTest reproduces base R friedman.test bit-for-bit and
scipy.stats.friedmanchisquare to machine precision. Closes the sibling romberg-vision-sway-bds
case's 2×2 open question with the correct repeated-measures test.gait-grf-anova-pathology-gaitrec — flattened GRF as a shared signature of
impaired gait, certified with an omnibus one-way ANOVA. Authoring PhysioAnalysis::oneWayAnova
(the many-group generalisation of the certified twoSampleTTest) and reusing the certified
PhysioMoCap::grfLandmarks, it compares the vertical-GRF dynamic range (loading peak minus
mid-stance trough) across five GaitRec gait classes — healthy control (n=208), ankle (n=483),
knee (n=499), hip (n=364), calcaneus (n=290). The dynamic range differs across classes
(F(4,1839)=73.4, p~8.9e-58), driven by healthy controls (mean 0.365 BW) having ~1.65x the range of
the tightly clustered pathology classes (0.215–0.227 BW): GRF flattening is not knee-specific.
oneWayAnova reproduces base R oneway.test(var.equal=TRUE) bit-for-bit and scipy.stats.f_oneway
to machine precision. Generalises the sibling gait-grf-dynrange-pathology-gaitrec case, closing its
open question.gait-grf-dynrange-pathology-gaitrec — the flattened ground-reaction force of
impaired gait, certified as a group difference. Reusing the certified PhysioAnalysis::twoSampleTTest
and PhysioMoCap::grfLandmarks (a new finding, not new ops), it compares the vertical-GRF dynamic range
(loading peak minus mid-stance trough) of healthy controls (n=208) vs knee-pathology patients (n=499)
in the GaitRec dataset. Controls have a much larger dynamic range (mean 0.367 vs 0.196 BW, ratio ~1.87,
Welch t = 17.3 on 337 df, p ~ 2.8e-48) — pathological gait flattens the GRF double-hump. The Welch t
reproduces both scipy.stats.ttest_ind(equal_var = FALSE) and base R t.test bit-for-bit,
turning the sibling gait-grf-gaitrec case's descriptive landmark means into a certified inferential
result.romberg-vision-sway-bds (the 100th validated case) — the visual contribution to
balance. Reusing the certified PhysioAnalysis::pairedTTest (a new finding, not a new op), it compares
eyes-closed vs eyes-open foam-surface COP path length (from the certified swayMetrics) across 50
subjects of the Santos & Duarte (2016) balance dataset. Eyes-closed sway (mean 217 cm) exceeds eyes-open
(mean 167 cm), a ratio of ~1.30, highly significant (t = 7.57 on 49 df, p ~ 8.8e-10), and eyes-closed is
greater in 43 of 50 subjects — the Romberg / vision effect. The paired t reproduces both
scipy.stats.ttest_rel and base R t.test(paired = TRUE) bit-for-bit. Together with the
foam-vs-firm (proprioception) and age effects, this completes the posturographic sensory triad — the
three inputs to standing balance.age-group-sway-bds — a group-comparison cohort case introducing
PhysioAnalysis::twoSampleTTest (Welch). Splitting the Santos & Duarte (2016) cohort into older (n=11)
and younger (n=39) subjects, foam-surface COP path length (from the certified swayMetrics) is markedly
greater in the older group — mean 227 vs 151 cm, ratio ~1.5, Welch t = 3.86 on 14.5 df, p = 1.6e-3.
The two-sample test reproduces both scipy.stats.ttest_ind(equal_var = FALSE) and base R
t.test bit-for-bit. This is the age-related balance decline as a group comparison, complementing
the continuous age-sway correlation (sibling case), on a chained certification (inputs from the
separately-certified swayMetrics).age-sway-correlation-bds — a cross-sectional cohort case introducing
PhysioAnalysis::correlationTest and demonstrating the age-related decline in balance. Across 50
subjects (ages 18-75) of the Santos & Duarte (2016) balance dataset, quiet-standing COP path length
(from the certified swayMetrics) increases with age — on the foam surface Pearson r = 0.62
(p = 1.5e-6) — and the age-sway correlation is stronger on foam (0.62) than firm (0.39): a compliant
surface degrades proprioception and unmasks the age-related decline. The correlation reproduces both
scipy.stats.pearsonr and base R cor.test bit-for-bit; a chained certification (the inputs
come from the separately-certified swayMetrics).posturography-foam-firm-bds — a cohort balance case introducing
PhysioAnalysis::pairedTTest and demonstrating the sensory-reweighting effect. Across 50 subjects of
the Santos & Duarte (2016) balance dataset, COP path length (from the certified swayMetrics) on a
foam surface is ~2.76x that on a firm surface (mean 167 vs 61 cm), the paired difference is
overwhelmingly significant (t = 17.3, df = 49, p ~ 1.6e-22), and foam exceeds firm in all 50/50
subjects. The paired t-test reproduces both scipy.stats.ttest_rel and base R
t.test(paired = TRUE) bit-for-bit. Standing on foam degrades ankle proprioception, so the balance
system reweights toward vision and vestibular input and sways more — a core balance / fall-risk concept,
and a chained certification (the test's inputs come from the separately-certified swayMetrics).sway-posturography-bds — a cross-tool audit certifying the posturography /
balance metric suite. It validates the shipped PhysioMoCap::swayMetrics — not a new op — against an
independent Python reimplementation of the Prieto et al. (1996) posturography formulas, for the first
time. On a real 60-s quiet-standing center-of-pressure trial from the Santos & Duarte (2016) public
balance dataset, the metrics (path length, mean velocity, 95% confidence ellipse/circle area, sway
area, mean/RMS distance) reproduce the reference bit-for-bit (max |diff| ~7e-13). Construct check:
the 95% confidence ellipse contains 96.7% of the COP samples, confirming it is correctly scaled. Sway
metrics are the standard quiet-stance balance and fall-risk measures in rehabilitation.sparc-ldlj-smoothness-wbds — a cross-tool audit certifying two
neurorehabilitation-standard movement-smoothness metrics. It validates the shipped
PhysioMoCap::sparc (Spectral Arc Length) and PhysioMoCap::ldlj (log dimensionless jerk) — not new
ops — against an independent Python reimplementation of the canonical Balasubramanian et al. (2015)
smoothness toolbox, for the first time. On a real WBDS gait knee angular-speed cycle both reproduce the
reference bit-for-bit (max |diff| ~4e-16 for SPARC, ~1e-14 for LDLJ). A construct check confirms
SPARC becomes more negative (less smooth) when the movement is corrupted with noise; and across the
WBDS walking speeds the knee-speed cycle is smoothest at moderate speeds and less smooth at the fastest
(speed-smoothness correlation −0.26), consistent with movement smoothness peaking near preferred speed.ks-normality-eegmmidb — a new normality-test op case introducing
PhysioAnalysis::ksNormalityTest (Kolmogorov-Smirnov), the empirical-CDF counterpart of
jarqueBeraTest. On real eyes-closed EEG its D statistic reproduces both scipy.stats.kstest
and base R ks.test bit-for-bit (|diff| ~4e-17 against each). Finding: on the same EEG, KS
does not reject normality (D = 0.026, p = 0.24) even though jarqueBeraTest does (JB = 15.5,
p = 4.3e-4) — the two normality tests reach opposite verdicts, because KS reads the overall CDF shape
while Jarque-Bera flags the mild skew/kurtosis with the high power a large N confers. "Normal" is
test-dependent. Caveat: the estimated-parameter KS p-value is anti-conservative (Lilliefors); the D
statistic is exact.trimmed-mean-hrv-fantasia — a new robust-location op case introducing
PhysioAnalysis::trimmedMean, applied to HRV, completing the robust toolkit (robust location to go with
the robust dispersion of medianAbsDev / interquartileRange). On real Fantasia RR intervals it
reproduces both scipy.stats.trim_mean and base R mean(x, trim) bit-for-bit (|diff| = 0
against each) at trim 0.1/0.2/0.25. Finding: on the right-skewed RR the plain mean (767 ms) exceeds the
10%-trimmed mean (762), which exceeds the 20%-trimmed mean (760), which exceeds the median (756) — the
trimmed mean interpolates between the mean and the median, and the mean-vs-trimmed gap measures how much
the heavy RR tail inflates the mean (a robust central heart-period resistant to ectopic beats).
Complements the iqr-hrv-fantasia case (robust dispersion on the same skewed RR).iqr-hrv-fantasia — a new robust-dispersion op case introducing
PhysioAnalysis::interquartileRange, applied to HRV. On real Fantasia RR intervals it reproduces
both scipy.stats.iqr and base R IQR bit-for-bit (|diff| = 0 against each). Finding:
the RR distribution is right-skewed and heavy-tailed (skewness 1.01, excess kurtosis 2.91), so the
robust IQR-based SD estimate (56.3 ms) sits materially below SDNN (69.3 ms; ratio 0.81) — the opposite
of the near-Gaussian eyes-closed EEG (median-abs-dev-eegmmidb), where the robust scale matched the SD
to 0.2%. The robust/classical dispersion ratio is thus a distribution-shape diagnostic: here it shows
SDNN is inflated by the heavy RR tail (respiratory sinus arrhythmia, occasional ectopy) that the robust
IQR ignores.multiscale-entropy-eegmmidb — a new standalone op case introducing
PhysioEEG::multiscaleEntropy (Costa 2002), completing the entropy family. On a real eyes-closed EEG
channel the per-scale MSE curve reproduces NeuroKit2 entropy_multiscale (MSEn) bit-for-bit across
scales 1–8 (max |diff| ~4e-16). Finding: the curve is non-monotonic — it rises from scale 1 (1.327)
to a peak at scale 5 (1.879) and stays above the scale-1 value, whereas a white-noise series of the
same length and SD falls monotonically (2.16 → 1.08). The rise is the signature of genuine multi-scale
structure in the eyes-closed EEG (fast activity plus slower alpha-band dynamics). Caveat: coarse-scale
SampEn is less stable on short coarse-grained series (scale 8 leaves 200 points).sampen-apen-eegmmidb — a cross-tool audit of the two most-used regularity
measures. It certifies the shipped PhysioMoCap::sampleEntropy (Richman-Moorman) and
approximateEntropy (Pincus) — not new ops — against the gold-standard Python references on EEG for
the first time (they were previously certified only against a base-R Pincus recompute on accelerometer
data). On a real eyes-closed EEG channel both reproduce both antropy and NeuroKit2
bit-for-bit (max |diff| ~2e-16 vs each). Finding: sample entropy (1.327) exceeds approximate
entropy (1.292) — the textbook ApEn self-match bias, in which ApEn counts each template's match with
itself and so systematically underestimates entropy; SampEn removes the self-count and is the less
biased estimator.median-abs-dev-eegmmidb — a new robust-dispersion op case introducing
PhysioAnalysis::medianAbsDev (the robust companion of signalMoments). On a real eyes-closed EEG
channel the raw MAD reproduces both scipy.stats.median_abs_deviation and base R
stats::mad(constant = 1) bit-for-bit (|diff| = 0 against each): a double-reference agreement,
because the raw MAD is an unambiguous order statistic. Finding: the normal-consistent MAD-scale (48.93)
matches the population SD (48.83) to within 0.2% (ratio 1.002) — because MAD is robust and SD is not,
this agreement is positive evidence the eyes-closed POz distribution is near-Gaussian and artifact-free,
cross-consistent with the signalMoments and Jarque-Bera folds on the same channel. Convention note:
the raw MAD (constant = 1) is validated exact; the normal-consistent constant 1/qnorm(0.75) differs
between base R's rounded 1.4826 and scipy's full-precision value at ~1e-6.katz-fd-eegmmidb — a new standalone op + cross-tool convention fix case.
It introduces PhysioEEG::katzFD (Katz's fractal dimension), completing the fractal-dimension family
(petrosianFD, svdEntropy). On a real eyes-closed EEG channel it reproduces two independent
references — antropy.katz_fd and NeuroKit2 fractal_katz — bit-for-bit (|diff| = 0 against
each): a double-reference machine-precision agreement. Integrity finding: the shipped
eegComplexity(measure = "katz_fd") previously used a non-standard Euclidean-plane convention
(KFD 1.696) that no reference tool produces; this fold unifies it to the field-standard amplitude-only
convention (KFD 3.468, a ~1.77 change), restoring cross-tool comparability. Honest scope: the
amplitude-only KFD is not bounded to [1, 2] (real EEG scores above 2, exactly as antropy/NeuroKit2
report) — a property of the de-facto convention, not an error.jarque-bera-eegmmidb — a new-method authoring case adding the formal
normality test (the confirmatory partner of signalMoments, analogous to Ljung-Box for the ACF):
introduces and certifies a newly-authored op, PhysioAnalysis::jarqueBeraTest (Jarque-Bera statistic,
built on signalMoments). On a real eyes-closed EEG channel it reproduces scipy.stats.jarque_bera
bit-for-bit for both the statistic and the p-value. Finding (an instructive nuance): JB=15.5
rejects normality (p=4.3e-4) even though signalMoments finds the distribution descriptively
near-Gaussian — because at N=1600 the test detects the mild skew (-0.23) and kurtosis (+0.16), the
same large-N power phenomenon as the decisive ADF/Ljung-Box rejections. The honest lesson: on a long
signal a normality test almost always rejects, so "approximately Gaussian" is an effect-size statement,
not a test outcome. Honest scope: newly-authored op; machine-precision (identical closed-form JB +
chi-square).signal-moments-eegmmidb — a new-method authoring case adding the
amplitude-distribution shape view: introduces and certifies a newly-authored op,
PhysioAnalysis::signalMoments (mean, population SD, skewness, excess kurtosis). On a real eyes-closed
EEG channel it reproduces scipy.stats.skew / kurtosis (and numpy mean/std) bit-for-bit (max
|diff| ~4e-16). Finding: the amplitude distribution is approximately Gaussian (skewness -0.23,
a mild left asymmetry; excess kurtosis +0.16, near-mesokurtic) — consistent with the normality many
downstream methods assume, whereas a much larger kurtosis would flag a spiky artifact. Honest scope:
newly-authored op; machine-precision (identical formulas, biased/population conventions).ar-spectrum-eegmmidb — a new-method authoring case delivering the AR model's
spectral payoff and completing the time-series lane: introduces and certifies a newly-authored op,
PhysioAnalysis::arSpectrum (AR(8) Yule-Walker parametric spectrum), built on arYuleWalker. On a
real eyes-closed EEG channel it reproduces stats::spec.ar bit-for-bit (max |rel diff| ~5e-14,
including spec.ar's N/(N-p-1) variance convention). Finding: the AR spectral peak (10.9 Hz) falls
in the alpha band and agrees within ~0.5 Hz with the nonparametric smoothed-periodogram peak
(11.4 Hz) — the parametric and nonparametric spectral estimates concur on the eyes-closed alpha rhythm,
each a check on the other. Honest scope: newly-authored op; machine-precision (identical AR spectral
formula incl. the spec.ar variance convention); a spectral density up to the estimator's scaling.kpss-eegmmidb — a new-method authoring case completing the ADF/KPSS
confirmatory pair: introduces and certifies a newly-authored op, PhysioAnalysis::kpssTest (KPSS
level-stationarity statistic), the complement of adfTest (KPSS's null is stationarity, ADF's is a
unit root). On a real eyes-closed EEG channel its statistic reproduces
statsmodels.tsa.stattools.kpss(regression = "c") bit-for-bit (|diff| ~7e-16). Finding: the
KPSS statistic (0.20) is below the 5% critical value (0.463), so it fails to reject
stationarity, and this agrees with the ADF test (which rejects the unit root) — the two
complementary tests concur the segment is stationary, the strongest form of the conclusion. Honest
scope: newly-authored op; only the statistic is bit-exact (critical values / p from reference tables);
agreement is the finding (disagreement would flag long memory / fractional integration).adf-eegmmidb — a new-method authoring case adding the stationarity check the
ACF/PACF/AR/Ljung-Box folds implicitly assumed: introduces and certifies a newly-authored op,
PhysioAnalysis::adfTest (Augmented Dickey-Fuller unit-root statistic). On a real eyes-closed EEG
channel its statistic reproduces statsmodels.tsa.stattools.adfuller(autolag = None) bit-for-bit
(|diff| ~7e-15). Finding: the statistic (-22.36) lies ~19.5 below the 5% Dickey-Fuller
critical value (-2.86), decisively rejecting the unit-root null — the segment is stationary (no
drift over 10 s), retroactively justifying the companion folds' assumption. Honest scope:
newly-authored op; only the statistic is bit-exact (an exact OLS quantity) — the critical values and
p-value require the MacKinnon reference tables and are not computed.ljung-box-eegmmidb — a new-method authoring case adding the formal
counterpart to the ACF/PACF/AR lane: introduces and certifies a newly-authored op,
PhysioAnalysis::ljungBoxTest (Ljung-Box portmanteau white-noise / model-adequacy test, built on
autocorrelation). On a real eyes-closed EEG channel it reproduces the field-standard
statsmodels.stats.diagnostic.acorr_ljungbox bit-for-bit for both the Q statistic and the p-value
(|diff| 0), and matches stats::Box.test to ~5e-12. Finding: at lag h=10, Q=4165 is ~228x the 95%
chi-square critical value (18.31), so the eyes-closed EEG rejects the white-noise null overwhelmingly
— the formal, quantitative counterpart of the strong ACF/PACF/AR structure of the companion folds.
Honest scope: newly-authored op; machine-precision (identical closed-form Q + chi-square); on residuals
the same op tests model adequacy.ar-yule-walker-eegmmidb — a new-method authoring case completing the
ACF/PACF/AR-fit lane: introduces and certifies a newly-authored op, PhysioAnalysis::arYuleWalker
(AR(p) fit by Yule-Walker via Durbin-Levinson on the biased ACF, building on autocorrelation /
partialAutocorrelation). On a real eyes-closed EEG channel it reproduces the field-standard
statsmodels.regression.yule_walker(method = "mle") bit-for-bit for both the AR coefficients (max
|diff| ~5e-15) and the innovation variance (~5e-13). Finding: the fitted AR(4) is stationary
(all roots outside the unit circle, min |root| ~1.09) with a negative lag-2 coefficient, and its
parametric spectrum peaks in the alpha band (~12 Hz) — a valid oscillatory generative model of
eyes-closed alpha. Honest scope: newly-authored op (MLE/biased convention; adjusted and base-R ar.yw
correction differ by construction); machine-precision (identical Yule-Walker).pacf-eegmmidb — a new-method authoring case completing the ACF/PACF pair:
introduces and certifies a newly-authored op, PhysioAnalysis::partialAutocorrelation (PACF via
Durbin-Levinson on the biased ACF, building on the just-added autocorrelation). On a real eyes-closed
EEG channel it reproduces the field-standard statsmodels.tsa.pacf(method = "ldb") bit-for-bit
(max |diff| ~6e-15) across lags 0..20. Finding: the lag-1 PACF exactly equals the lag-1 ACF (0.856,
the definitional identity), and the lag-2 PACF is strongly negative (-0.627) — the signature of an
oscillatory AR(2)-like process, exactly what eyes-closed posterior alpha (a resonant ~10 Hz rhythm)
looks like. Honest scope: newly-authored op (biased ldb convention; unbiased yw/ld/ols differ by
construction); machine-precision (identical Levinson-Durbin recursion).autocorrelation-eegmmidb — a new-method authoring case adding the
foundational time-series primitive the ecosystem lacked: introduces and certifies a newly-authored
op, PhysioAnalysis::autocorrelation (single-series ACF, biased/demeaned estimator). On a real
eyes-closed EEG channel it reproduces the field-standard statsmodels.tsa.acf (adjusted = FALSE)
bit-for-bit (max |diff| ~2e-16) across lags 0..30. Finding: the lag-0 value is exactly 1 (the
ACF identity), and the ACF decays below 1/e by lag 3 — a short decorrelation time (~19 ms at 160 Hz).
Honest scope: newly-authored op filling the single-series gap (crossCorrelation is between-two-series);
machine-precision (identical estimator); a foundational primitive certified against statsmodels.enmoa-freeliving-pamap2 — a new-method authoring case completing the
accelerometer movement triad: introduces and certifies a newly-authored op,
PhysioWearable::computeENMOa (ENMO-abs, |r - 1|), the always-positive companion of ENMO that
retains the sub-1 g dips ENMO's truncation discards. On a real ~62-minute PAMAP2 free-living
hand-accelerometer recording it reproduces GGIR::g.applymetrics ENMOa to machine precision
(max |diff| ~2e-14 g, correlation 1.0) across all 749 5 s epochs. Finding: ENMOa ≥ ENMO at
every epoch and exceeds it by ~63 mg on average (mean 224 vs 162 mg) — the movement below 1 g
that ENMO discards. Honest scope: newly-authored op; machine-precision (identical computation); ENMOa
a physical quantity completing the ENMO+MAD+ENMOa triad.hti-tinn-fantasia — a cross-tool reproducibility-audit case (not new-method
authoring): certifies the shipped PhysioECG::ecgHRVgeometric against the field-standard
NeuroKit2.hrv_time geometric HRV indices on a real 5-minute Fantasia RR series. The HRV triangular
index (HTI) reproduces NeuroKit2 HRV_HTI bit-for-bit (|diff| 0) — an integer-ratio index (391
intervals / a modal histogram height of 35 = 11.17) at the shared 1/128 s standard bin. TINN, by
contrast, differs (164 vs 297 ms) — a documented triangular-interpolation convention (least-squares
triangle base width vs NeuroKit2's fit), not a bug in either tool. Takeaway: HTI is portable and
convention-free; report which TINN you use. Honest scope: cross-tool re-certification (op extended only
to accept an RR data frame); HTI portable integer ratio; TINN convention-dependent.phase-entropy-eegmmidb — a new-method authoring case adding a phase-plane
complexity mechanism: introduces and certifies a newly-authored op, PhysioEEG::phaseEntropy (phase
entropy, Rohila & Sharma 2019), which builds the Second-Order Difference Plot (first vs second
differences) and takes the normalized Shannon entropy of the polar-angle distribution over k sectors.
On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_phase bit-for-bit (max |diff|
~4e-16) across the sector count k. Finding: PhasEn increases with k (1.238 → 1.287 → 1.299) and
sits below the 1/ln(2) = 1.443 normalization ceiling. Honest scope: newly-authored op;
machine-precision (identical pipeline); NeuroKit2 normalization reproduced; value depends on (delay, k).slope-entropy-eegmmidb — a new-method authoring case completing the
discrete-symbolic complexity trio: introduces and certifies a newly-authored op,
PhysioEEG::slopeEntropy (slope entropy, Cuesta-Frau 2019), which symbolizes the slope angle
atan(dx) between successive samples into five classes (steep/gentle/flat, up/down) and takes the
Shannon entropy of the slope patterns — capturing local-trend shape (vs the amplitude-pattern and
increment-magnitude mechanisms). It is the ecosystem's 100th registered analysis tool. On a real
eyes-closed EEG channel it reproduces NeuroKit2.entropy_slope bit-for-bit (max |diff| ~9e-16)
across the embedding dimension. Finding: unlike the normalized entropies it increases with
dimension (1.26 → 2.43 → 3.57, an unnormalized Shannon over longer patterns), and the signal realizes
18 of the 25 = 5^(m-1) possible slope patterns at m=3. Honest scope: newly-authored op;
machine-precision (identical pipeline); value depends on (dimension, thresholds).mad-freeliving-pamap2 — a new-method authoring case completing the
accelerometer ENMO+MAD metric pair: introduces and certifies a newly-authored op,
PhysioWearable::computeMAD (mean amplitude deviation, Vähä-Ypyä et al. 2015), the gravity-robust
movement metric complementary to the (GGIR-certified) ENMO. On a real ~62-minute PAMAP2 free-living
hand-accelerometer recording it reproduces GGIR::g.applymetrics MAD to machine precision
(max |diff| ~5e-14 g, correlation 1.0) across all 749 5 s epochs. Finding: MAD measures the
variation of the acceleration magnitude within an epoch (vs ENMO's elevation above 1 g), and on
this recording ranges 5–1222 mg (mean 232 mg) — a physical movement profile. Honest scope:
newly-authored op; machine-precision (identical computation); MAD is a physical quantity, so the
mean/max/min are meaningful movement descriptors.increment-entropy-eegmmidb — a new-method authoring case adding the
increment-domain complexity the ecosystem lacked: introduces and certifies a newly-authored op,
PhysioEEG::incrementEntropy (increment entropy, Liu et al. 2016), which symbolizes each successive
increment by its sign and a magnitude class and takes the normalized Shannon entropy of the
increment-words — a mechanism distinct from the amplitude-histogram, NCDF-pattern and
template-matching entropies. On a real eyes-closed EEG channel it reproduces
NeuroKit2.entropy_increment bit-for-bit (max |diff| ~9e-16) across (dimension, q). Finding:
it is non-increasing in the embedding dimension (4.27 → 3.51 → 3.01 at q=4), and the signal realizes
only 33 of the 81 = (2q+1)^m possible increment-words (structured). Honest scope: newly-authored
op; machine-precision (identical pipeline); value depends on (dimension, q).fuzzy-entropy-eegmmidb — a new-method authoring case completing the
sample-entropy family: introduces and certifies a newly-authored op, PhysioEEG::fuzzyEntropy
(fuzzy entropy, Chen et al. 2007), the fuzzy generalization of sample entropy — a smooth
exponential membership exp(-(d^n)/r) replaces the crisp Heaviside match threshold, so near-matches
count partially (far more robust on short/noisy segments). On a real eyes-closed EEG channel it
reproduces NeuroKit2.entropy_fuzzy bit-for-bit (max |diff| ~4e-15) across (dimension, r).
Finding: at m=2, r=0.2 FuzzyEn (0.948) is lower than the crisp sample entropy (1.327) — the
soft membership counts near-matches the step rejects — and FuzzyEn is non-increasing in the embedding
dimension. Honest scope: newly-authored op; machine-precision (identical pipeline); value depends on
(dimension, r, fuzzy power n).hrv-time-neurokit-fantasia — a cross-tool reproducibility-audit case (not
new-method authoring): certifies the shipped PhysioECG::ecgHRVtime against the field-standard
Python reference NeuroKit2.hrv_time on a real 5-minute Fantasia RR series. The three core
Task-Force metrics — MeanNN, SDNN and RMSSD (the two most-reported HRV indices in physiology) —
reproduce NeuroKit2 bit-for-bit (max |diff| 0). The sole divergence is pNN50 (37.18% vs
37.08%), a documented denominator convention — ecgHRVtime divides the nn50 count by the number
of successive differences (N−1 = 390), NeuroKit2 by the number of intervals (N = 391) — with the
nn50 count itself identical at 145, proving the gap is denominator-only, not a beat-detection or
threshold difference. Honest scope: cross-tool re-certification; MeanHR (60000/mean(RR)) estimand not
cross-validated (NeuroKit2 hrv_time returns no MeanHR column).dispersion-entropy-eegmmidb — a new-method authoring case introducing a
newly-authored op, PhysioEEG::dispersionEntropy (dispersion entropy, Rostaghi & Azami 2016), a
fast outlier-robust symbolic-dynamics complexity measure with a mechanism distinct from every
entropy folded so far (NCDF amplitude-class ranking + embedding "dispersion patterns", rather than
amplitude binning or ordinal ranking). On a real eyes-closed EEG channel it reproduces
NeuroKit2.entropy_dispersion bit-for-bit for both the dispersion entropy DispEn (max |diff| 0)
and the reverse dispersion entropy RDEn (max |diff| ~7e-18) across (c, dimension, delay) settings.
Finding: the signal realizes only 108 of the 216 = c^m possible dispersion patterns (structured,
not pattern-saturating), and DispEn (1.117) sits below the base-2/ln normalization ceiling
1/ln(2) = 1.443. Honest scope: newly-authored op; machine-precision (identical pipeline); NCDF
classes near-equiprobable so complexity lives in the patterns; NeuroKit2 normalization reproduced,
not corrected.tsallis-entropy-eegmmidb — a new-method authoring case that completes the
generalized-entropy pair: introduces and certifies a newly-authored op, PhysioEEG::tsallisEntropy
(Tsallis entropy, 1988), the non-additive counterpart of the (additive) renyiEntropy added in
the previous case. On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_tsallis
bit-for-bit (max |diff| ~9e-16) across q = {0.5, 1, 2, 3}. Finding: at q = 1 the Tsallis
entropy exactly recovers the Shannon entropy (2.325 nats) and coincides with the Renyi entropy,
but at q = 2 it diverges sharply (Tsallis 0.885 vs Renyi 2.167) — the two generalizations meet
only at q = 1 because Tsallis is non-additive; S_q is non-increasing in q. Honest scope:
newly-authored op; machine-precision (identical formula, not a convention agreement); histogram
bin-count-dependent (structure, not an absolute physiological quantity).renyi-entropy-eegmmidb — a new-method authoring case: introduces and
certifies a newly-authored op, PhysioEEG::renyiEntropy (Renyi entropy, 1961), the generalized
(order-alpha) entropy family, filling the gap the ecosystem's Shannon-based entropies
(permutation, sample, spectral) left open. On a real eyes-closed EEG channel it reproduces
NeuroKit2.entropy_renyi bit-for-bit (max |diff| ~4e-16) across alpha = {0.5, 1, 2, 3}.
Finding: the alpha = 1 value exactly recovers the Shannon entropy (2.325 nats), alpha = 2 the
collision entropy (2.167), and the family is monotonically decreasing in alpha — the defining
structure. Honest scope: histogram/bin-dependent, so the structure (not the absolute value) is the
content. Requires PhysioEEG >= 0.7.7. Coverage map regenerated (68 cases).petrosian-fd-eegmmidb — a new-method authoring case: introduces and
certifies a newly-authored op, PhysioEEG::petrosianFD (Petrosian fractal dimension, 1995), a fast
waveform-complexity index filling the gap the complexity suite (permutation entropy, Lempel-Ziv,
Hjorth, sample/approximate entropy, DFA, RQA, SVD entropy) left open. On a real eyes-closed
posterior EEG channel it reproduces antropy.petrosian_fd bit-for-bit (max |diff| 0;
unlike Higuchi/Katz, Petrosian has one unambiguous closed form). Finding: Petrosian FD is lower over
the posterior alpha region (all 9 parieto-occipital channels below the frontal mean; 1.020 vs
1.027) — the eyes-closed alpha rhythm is a smoother oscillation, the sixth complementary view of
posterior alpha (with Welch/spectrogram/Hjorth/coherence/SVD). Requires PhysioEEG >= 0.7.6.
Coverage map regenerated (67 cases).mutual-info-cardioresp-bidmc — a new-method authoring case: introduces and
certifies a newly-authored op, PhysioCrossModal::mutualInformation (histogram mutual information),
the undirected information-theoretic complement of transfer entropy, filling a gap (the ecosystem
had directed TE, coherence, cross-correlation, distance correlation — but no general MI). On real
cardiorespiratory signals (BIDMC-01 RESP + PLETH) it reproduces sklearn.metrics.mutual_info_score
bit-for-bit (max |diff| ~5e-16) on the identical binning. Finding: the real RESP-PLETH MI
(0.077 nats) is ~3.2x the histogram estimator's shuffled finite-sample floor (0.024) — a genuine
undirected dependence (the shared respiratory modulation). Honest scope: histogram estimator is
positively biased (ratio-to-shuffled, not absolute, is the signal); in nats. Requires PhysioCrossModal
= 0.7.1. Coverage map regenerated (66 cases).
svd-entropy-eegmmidb — a new-method authoring case: introduces and
certifies a newly-authored op, PhysioEEG::svdEntropy (SVD entropy, Roberts 1999), filling the
dimensionality gap the complexity suite (permutation entropy, Lempel-Ziv, Hjorth, sample/approximate
entropy, DFA, RQA) left open. On a real eyes-closed posterior EEG channel it reproduces
antropy.svd_entropy bit-for-bit (max |diff| ~2e-16; both via LAPACK SVD). Finding: SVD
entropy is lower over the posterior alpha region (all 9 parieto-occipital channels below the frontal
mean; posterior 1.24 vs frontal 1.29) — the eyes-closed alpha rhythm is a low-dimensional
oscillation, consistent with the Welch/spectrogram/Hjorth/coherence cases on the same data. Requires
PhysioEEG >= 0.7.5. Coverage map regenerated (65 cases).csi-cvi-fantasia — a new-method authoring case: introduces and certifies
a newly-authored op, PhysioECG::ecgHRVautonomic (the Toichi cardiac autonomic indices CSI/CVI/
CSI_Modified from the Poincare 4-SD box), filling the gap the ecosystem's raw SD1/SD2 left open. On
a real 5-minute RR window (Fantasia f1y01) it reproduces NeuroKit2's hrv_nonlinear indices
bit-for-bit (max |diff| 0). Finding: the Cardiac Vagal Index is higher in the young (4.90)
than the old (4.55), robust across the cohort (5/5 young above the old mean) — the parasympathetic
decline of autonomic aging, complementing the DFA and Poincare aging cases. Requires PhysioECG >=
0.4.1. Coverage map regenerated (64 cases).hra-fantasia — a new-method authoring case: introduces and certifies a
newly-authored op, PhysioECG::ecgHRVasymmetry (heart-rate asymmetry), filling the gap the
ecosystem's symmetric SD1/SD2 left open. On a real 5-minute RR window (Fantasia f1y01), the op
reproduces NeuroKit2's hrv_nonlinear HRA indices (GI/SI/AI/PI + the C1d/C1a/C2d/C2a
deceleration/acceleration contributions) bit-for-bit (max |diff| ~1e-14). Finding:
decelerations dominate short-term variability (C1d 0.63 > C1a 0.37), the established HRA signature,
robust across the cohort (8/10 subjects); accelerations dominate long-term (C2a 0.64 > C2d 0.36).
Honest scope: the op is newly authored (identical Piskorski-Guzik formulas → bit-exact); the
long-term asymmetry is mixed across the small cohort and no age direction is claimed. Requires
PhysioECG >= 0.4.0. Coverage map regenerated (63 cases).eeg-detrend-scipy-eegmmidb — a preprocessing-primitive fidelity case: the
first external-reference (scipy) certification of PhysioPreprocess::detrendSignal (the detrend
step that precedes the Welch/spectrogram estimates). On a real drifting frontopolar EEG channel
(Fpz), it reproduces scipy.signal.detrend bit-for-bit (max |diff| ~1e-12 linear, 0
constant — identical least-squares-line/mean formulas). Finding (methodological): the linear
detrend removes a low-frequency trend that constant (mean) removal leaves in — sub-1-Hz Welch
power falls from 1284 (raw) to 59 (linear) vs 112 (constant), so the detrend type removes ~47%
more low-frequency leakage. Honest scope: detrendSignal is not a new op; linear detrend removes only
the linear part (oscillatory wander needs a high-pass). Coverage map regenerated (62 cases).eeg-coherence-scipy-eegmmidb — a connectivity fidelity case (the spatial
view completing the eyes-closed EEG arc after Welch power and spectrogram dynamics): the first
external-reference (scipy) certification of PhysioEEG::eegCoherence. On the eight
parieto-occipital channels of real eyes-closed EEG, its magnitude-squared coherence reproduces
scipy.signal.coherence bit-for-bit (max |diff| ~2e-16 across all 28 pairs) once
conventions match — symmetric Hann, matched window length + overlap, detrend=False; the coherence
ratio cancels the window normalization. Finding: posterior alpha coherence is high (mean 0.63,
peaking 0.90 between adjacent occipital channels PO3–O1) — the eyes-closed alpha rhythm is
spatially synchronized. Honest scope: eegCoherence is not a new op; magnitude-squared coherence is
inflated by volume conduction (imaginary coherence, also available, addresses it). Coverage map
regenerated (61 cases).eeg-spectrogram-scipy-eegmmidb — a time-frequency fidelity case (the
time-resolved sibling of the Welch case): the first external-reference (scipy) certification of
the PhysioAnalysis::spectrogram (STFT). On real eyes-closed posterior EEG (POz), it reproduces
scipy.signal.spectrogram bit-for-bit (max |diff| ~7e-13 over the full 129 × 11
frequency × time matrix) once conventions are matched — symmetric Hann, no detrend, density
scaling, one-sided doubling, nperseg=256, 50% overlap, mode='psd'. Finding: the alpha rhythm
dominates every one of the 11 windows (peak in 8–13 Hz, median 11.25 Hz) yet its power waxes and
wanes across time (CV ~58%) — the amplitude modulation the time-averaged Welch PSD hides. Honest
scope: spectrogram is not a new op; the match requires the matched conventions (scipy's defaults
differ). Coverage map regenerated (60 cases).eeg-bandpower-welch-eegmmidb — a spectral-estimation fidelity case: the
first external-reference (scipy) certification of the PhysioAnalysis::bandPower Welch
estimator (used across the EEG cases for findings, never checked against the reference). On real
eyes-closed 64-channel EEG, its band powers reproduce scipy.signal.welch bit-for-bit
(max |diff| ~7e-13 over 64 channels × 5 bands) once conventions are matched — symmetric Hann
window, no per-segment detrend, density scaling, one-sided doubling, nperseg=256, 50% overlap.
Finding: relative alpha power is highest over the parieto-occipital region (peak POz 0.73;
posterior mean 0.69 vs frontal 0.28) — the eyes-closed posterior alpha rhythm, cross-consistent
with the Hjorth case's low posterior mobility on the same data. Honest scope: bandPower is not a
new op; the match requires the symmetric-Hann + no-detrend conventions (scipy's defaults differ).
Coverage map regenerated (59 cases).poincare-hrv-fantasia — a nonlinear-HRV geometry case (the geometric
complement of the DFA fractal-scaling case on the same Fantasia cohort). On a real 5-minute RR
window, PhysioECG::ecgHRVpoincare computes the Poincare descriptors SD1 (short-term/vagal,
54.3 ms) and SD2 (long-term, 81.5 ms). It reproduces an independent from-scratch
numpy analytical closed-form bit-for-bit (max |diff| 0) and NeuroKit2 hrv_nonlinear:
SD1 bit-for-bit (the universal SDSD/√2), SD2 up to a documented ~0.2 ms convention (op =
analytical closed-form; NeuroKit2 = geometric paired-projection, reproduced bit-for-bit by an
independent numpy paired projection). Finding: short-term HRV (SD1) is markedly higher in the
young (53.1 ms) than the old (35.3 ms) — an age-related cardiac-vagal decline. Honest scope:
the SD2 gap is a resolved convention (neither wrong); aging is descriptive (n=5+5). Coverage
map regenerated (58 cases).te-cardioresp-bidmc — a model-free directed-coupling case
(the information-theoretic complement of the linear Granger case on the same pair). On real
cardiorespiratory signals (BIDMC-01), PhysioCrossModal::transferEntropy (histogram estimator)
measures the respiration → pulse transfer entropy (0.036 bits) exceeding pulse →
respiration (0.024), net +0.012 — the same directed asymmetry Granger found, with no
linearity assumed. It reproduces an independent from-scratch numpy transfer entropy
bit-for-bit (max |diff| ~6e-17 in both directions) and recovers a constructed x → y coupling
(TE 0.67 driving vs 0.06 reverse). Honest scope: the histogram estimator is
estimator-dependent with a positive finite-sample bias (raw values are point estimates, not
significance tests). Coverage map regenerated (57 cases).ecg-ppg-crosscorr-bidmc — a time-domain cross-correlation coupling
case (complementing the frequency-domain coherence). On real simultaneous ECG + PPG
(BIDMC-01), PhysioCrossModal::crossCorrelation measures the pulse arrival time: the
ECG-PPG cross-correlation peaks at 0.39 s (heart → fingertip). It reproduces an independent
from-scratch numpy normalized cross-correlation bit-for-bit (max |diff| ~3e-14 across all
lags) and its peak lag matches scipy.signal.correlate. Coverage map regenerated (56 cases).eeg-wpli-alpha-eegmmidb — a debiased weighted phase-lag index
(wPLI) case, completing the canonical phase-connectivity trio (PLV → PLI → wPLI). On the
same real occipital O1-Oz pair, PhysioCrossModal::weightedPLI gives a debiased wPLI of
0.011 — confirming (like PLI) the strong alpha PLV of 0.92 is mostly volume conduction.
Validated by reproducing an independent scipy imaginary-cross-spectrum wPLI (~7e-3) and
demonstrating the debiasing: for independent signals the biased wPLI is a spurious 0.038 but
the debiased wPLI collapses to 0.0006, while genuine lagged coupling stays 1.0.
Coverage map regenerated (55 cases).eeg-pli-alpha-eegmmidb — a phase-lag index (PLI)
volume-conduction-robust connectivity case. On the same real occipital O1-Oz pair whose
alpha PLV is 0.92 (sibling case), PhysioCrossModal::phaseLagIndex gives PLI = 0.016 —
the strong PLV is almost entirely near-zero-lag (volume conduction / common reference),
which PLI discounts. Validated three ways: recovers the volume-conduction contrast
(constructed zero-lag → PLV 0.99 / PLI 0.01; lagged → PLI 1.0), reproduces an
independent scipy Hilbert-band PLI (~4e-3), and its sign formula is exact. Coverage map
regenerated (54 cases).eeg-plv-alpha-eegmmidb — a phase-locking value (PLV) phase-
connectivity case. On real eyes-closed occipital EEG (eegmmidb S002R02, O1 & Oz),
PhysioCrossModal::phaseLockingValue measures alpha-band phase synchronization
(PLV 0.92, nearly in phase). Validated three ways: it recovers ground truth
(phase-locked → 0.995, independent → 0.009), reproduces an independent scipy
Hilbert-band PLV to ~8e-5 (phase-robust, up to the filtfilt convention), and its
summation formula is exact. Coverage map regenerated (53 cases).eeg-hjorth-eegmmidb — a Hjorth-parameters time-domain-complexity
case across a full 64-channel montage. On real eyes-closed EEG (eegmmidb S002R02),
PhysioEEG::eegComplexity computes Hjorth mobility + complexity per channel; they reproduce
an independent numpy implementation bit-for-bit (~9e-16 across all 64 channels) and
antropy.hjorth_params to ~3e-7 (up to the variance ddof convention). Mobility maps the
eyes-closed alpha topography — lowest over parieto-occipital (POz, 0.53), highest over
temporal (T7, 1.45). Coverage map regenerated (52 cases).eeg-multitaper-alpha-eegmmidb — a multitaper robust-spectral-
estimation case. On real eyes-closed occipital EEG (eegmmidb S001R02, O1),
PhysioEEG::eegMultitaper computes the non-adaptive multitaper PSD (average of DPSS-tapered
periodograms); its DPSS tapers reproduce scipy.signal.windows.dpss to ~6e-14 and its
full PSD an independent scipy+numpy reconstruction to ~1e-10 (both machine precision),
and it agrees with MNE psd_array_multitaper in structure (correlation 0.99, up to a
one-sided factor-of-2). The spectrum is alpha-dominated (peak 10.5 Hz, 46% of 0–45 Hz
power in the alpha band). Coverage map regenerated (51 cases).hrv-lomb-fantasia — a Lomb-Scargle spectral-estimation case for
the unevenly-sampled RR tachogram. On real Fantasia RR (young subject f1y01, 8708 beats),
PhysioECG::ecgHRVfreq(method="lomb") computes the Lomb-Scargle periodogram (the correct
estimate for irregular sampling — no interpolation) and reproduces the canonical
scipy.signal.lombscargle to machine precision: the periodogram to a relative ~1e-10
and the integrated VLF/LF/HF band powers to ~7e-11. The resting autonomic balance is
HF-dominant (LF/HF ≈ 0.48, HF 67% of LF+HF). Coverage map regenerated (50 cases).granger-cardioresp-bidmc — the corpus's first directed/causal
connectivity case. On real simultaneous respiration + PPG (BIDMC subject 01),
PhysioCrossModal::grangerCausality measures time-domain Granger causality in both
directions; cardiorespiratory coupling is strong and bidirectional, with
respiration → pulse the net-dominant direction in 15/20 subjects. It reproduces the
field-standard statsmodels.tsa.stattools.grangercausalitytests to ~3.5e-7 (an
agreement, limited by statsmodels' intercept convention) and an independent from-scratch
numpy OLS to ~1.8e-9 (the op's ridge floor), both directions; statsmodels' F-test
confirms both directions overwhelmingly significant (F ≈ 54, p < 1e-100). Coverage map
regenerated (49 cases).coverage.qmd) — a cross-cutting view of the whole corpus:
every validated method, the field-standard reference it was checked against (MNE-Python,
SciPy, GGIR, lme4, energy, NeuroKit2, …), and the public data used. Generated from each
case's case.json by tools/build_coverage.py (re-run after adding a case) and linked
from the gallery. Summarises the corpus honestly by reference kind — third-party tool,
dataset ground truth, or established published finding: 48 cases across 21 packages, 29
reproducing a named reference across 22 distinct references.eeg-wavelet-alpha-eegmmidb — a Morlet-wavelet time-frequency
case. On real eyes-closed occipital EEG (eegmmidb S001R02, O1),
PhysioAnalysis::waveletTransform computes the Morlet scalogram, which is dominated by
the alpha rhythm (peak at 10 Hz, 66% of power in the 8–13 Hz band) — the classic Berger
alpha resolved in time-frequency. It reproduces MNE-Python's tfr_array_morlet in
time-frequency structure to correlation 0.9998 (full TFR) / 0.9999 (marginal
spectrum), up to a normalization convention (~0.49×) — an agreement fold (independent
Morlet implementations), not a machine-precision match.hrv-dfa-aging-fantasia — an HRV detrended fluctuation
analysis (DFA) / aging case. On real Fantasia ECG, PhysioECG::ecgDFA recovers
the fractal scaling of heart-rate dynamics: the short-term exponent α1 is 1.05 in
young (healthy 1/f fractal scaling ~1.0) and 1.41 in elderly subjects — the
age-related loss of fractal complexity (aging effect +0.36, every elderly subject
above the young mean; Iyengar et al. 1996). ecgDFA reproduces an independent
log-spaced standard-DFA (a different least-squares fitter) to machine precision (max
|diff| = 1.3×10⁻¹⁴). This case exercises the ecgDFA log-spaced-scales bug fix
(PhysioECG 0.3.2) — before it, ecgDFA returned NA on these long RR series.eeg-lz-sleep-consciousness-sleepedf — a Lempel-Ziv complexity /
consciousness-gradient case. On a real overnight EEG (Sleep-EDF SC4001, Fpz-Cz),
PhysioEEG::eegComplexity(measures = "lempel_ziv") shows cortical complexity is lowest
in deep sleep (N3 = 0.364) and highest in wake and REM (0.464), N2 intermediate
(0.420) — the consciousness gradient (Lempel-Ziv is the basis of the Perturbational
Complexity Index). Because LZ is an exactly-defined algorithm, it reproduces the
canonical Python antropy.lziv_complexity to machine precision (max |diff| =
5.6×10⁻¹⁷ across all stages), extending the permutation-entropy validation to a second
exactly-defined complexity measure.emg-hilbert-envelope-grabmyo — an EMG muscle-activation
envelope case. On a real 32-channel forearm-EMG gesture (GRABMyo),
PhysioEMG::emgEnvelope(method = "hilbert") extracts the muscle-activation envelope
(peak/mean modulation 6.5 — the gesture's burst activity). Because the analytic
signal is an exactly-defined FFT operation, it reproduces the canonical
scipy.signal.hilbert to machine precision (max |diff| = 5.6×10⁻¹⁶ over all
32 channels). This upgrades emgEnvelope's validation from the RMS method (checked vs
a naive moving-window reference) to the Hilbert method (checked vs scipy, grade A).coherence-cardiac-bidmc — a spectral-connectivity
(coherence) case. On real simultaneous PPG + ECG (BIDMC subject 01),
PhysioCrossModal::coherence shows the two different cardiac sensors — optical
(PPG) and electrical (ECG) — cohere at the heart rate: magnitude-squared coherence
peaks at 0.898 at 1.465 Hz (88 bpm), far above the 95% confidence limit. It
reproduces the canonical scipy.signal.coherence to machine precision (max
|diff| = 2.9×10⁻¹⁴ over the full spectrum, Welch settings matched exactly).
Honest scope: the op does not detrend, so the finding is read in the cardiac band
(0.5–5 Hz), excluding the DC component.cca-gait-wbds — a canonical correlation analysis case,
completing a three-lens cross-modal trilogy on the same WBDS gait data. On real
walking, PhysioCrossModal::cca finds the maximal LINEAR correlation between the
kinematics (knee+ankle flexion) and kinetics (GRF): first canonical correlation
0.737 (5-subject 0.74–0.85), reproducing base R's stats::cancor to machine
precision (max |diff| = 1.1×10⁻¹⁶). Notably r1 ≈ the distance correlation on the same
data (0.72), indicating the coupling is largely linear. With the dCor case (any
dependence, 0.72) and the RSA case (rank geometry, 0.34), the identical data is now
read through three lenses, each validated against a different canonical reference
(energy::dcor / vegan::mantel / stats::cancor).circular-gait-coupling-wbds — a circular (directional)
statistics case. On real WBDS walking, PhysioCore::circularSummary analyses the
knee-ankle vector-coding coupling angles — inter-joint coordination as directional
data: mean coordination direction 254°, mean resultant length R̄ = 0.195
(Rayleigh p = 3×10⁻⁸), with the coordination consistency varying across subjects
(R̄ 0.06–0.29). It reproduces the canonical R circular package to machine
precision: R̄ matches exactly (|diff| = 0), the mean direction to 6×10⁻¹⁴. Honest
scope: the Rayleigh-test p-value is an asymptotic approximation and the two libraries'
higher-order series differ slightly (both p ~ 3×10⁻⁸) — reported, not claimed exact.eeg-permutation-entropy-eegmmidb — an EEG signal-complexity
case. On all 64 channels of real eyes-closed resting EEG (eegmmidb S001R02),
PhysioEEG::eegComplexity computes the permutation entropy (Bandt-Pompe) — a
marker of cortical state, consciousness, and anaesthesia depth. Because permutation
entropy is an exactly-defined algorithm, it reproduces the canonical Python
antropy to machine precision: correlation 1.0, max |difference| = 2×10⁻¹⁶
across the 64 channels, mean entropy 0.91. Honest scope: the tolerance-dependent
sample entropy and PSD-dependent spectral entropy do NOT match antropy exactly
(~0.01–0.02) and are deliberately not claimed — only the exactly-defined measure is.eeg-pac-sleep-spindle-sleepedf — a phase-amplitude
coupling case on real NREM sleep EEG. On an overnight polysomnogram (Sleep-EDF
SC4001, Fpz-Cz), PhysioCrossModal::phaseAmplitudeCoupling measures the
slow-oscillation↔spindle coupling — the hallmark cross-frequency coupling of
memory-consolidation sleep: Tort modulation index 0.00035, z = 9.6 above a
circular-shift surrogate null (exceeds all 200 surrogates). It reproduces the
canonical Python tensorpac to machine precision (|difference| = 5×10⁻¹⁷), fed
the identical phase and amplitude. Honest scope: the surrogate null (not a non-zero
MI) establishes the coupling is real; single subject, single channel.rsa-mantel-gait-wbds — a representational similarity
analysis (RSA) / Mantel test case. On real WBDS treadmill walking (Fukuchi et
al. 2018), PhysioCrossModal::representationalSimilarity correlates the
dissimilarity matrices (RDMs) of the gait kinematics (knee+ankle flexion) and
kinetics (GRF): Mantel r = 0.34 (permutation p = 0.010) for one subject and
0.34–0.49 (mean 0.38) across all five — a moderate, significant
representational correspondence. It reproduces the canonical vegan::mantel
exactly (|difference| = 0). Notably weaker than the distance correlation on the
same data (0.72): RSA is a rank correlation of distance matrices, a distinct and
more conservative measure — both reported for an honest picture.eeg-aperiodic-exponent-eegmmidb — a qEEG aperiodic
(1/f) parameterization case. On all 64 channels of real eyes-closed resting
EEG (eegmmidb S001R02, PhysioNet), PhysioEEG::eegAperiodic (the specparam /
FOOOF engine, Donoghue et al. 2020) recovers the aperiodic exponent — a
widely-used marker of cortical excitation/inhibition balance. Fed the identical
per-channel Welch PSD, it reproduces the canonical Python fooof: the
per-channel exponents correlate r = 0.98 across the 64 channels, mean
|difference| 0.07, both engines yielding physiologically plausible resting
exponents (specparam 1.38, fooof 1.45; mean fit R² = 0.93). Honest boundary: an
agreement benchmark (independent iterative implementations), with the largest
divergence at the occipital electrodes where a strong alpha peak makes the two
peak-removal heuristics differ.crossmodal-dcor-gait-wbds — a cross-modal dependence
case. On real WBDS treadmill walking (Fukuchi et al. 2018), the distance
correlation (Székely, Rizzo & Bakirov 2007) between the sagittal knee+ankle
flexion angles (kinematics) and the antero-posterior+vertical GRF (kinetics) is
dCor = 0.72 (permutation p = 0.001) for one subject and 0.71–0.78 (mean
0.74) across all five — a strong, significant, consistent coupling. The
ecosystem's PhysioCrossModal::distanceCorrelation reproduces the canonical
energy::dcor to machine precision (|diff| < 1e-13), so the measure is exact,
not approximate. Distance correlation is zero iff the blocks are independent and,
unlike Pearson or linear canonical correlation, detects dependence of any shape.msknet-hypergraph-murphy — the ecosystem's first
musculoskeletal-network case. Building the whole-body muscle-bone hypergraph
with PhysioMSKNet (loadMSKData -> MSKHypergraph -> mskHomuncCorrelation)
reproduces Murphy et al. (2018, PLoS Biology): the paper-scale hypergraph (173
bones, 270 muscles) and its central neuro-anatomical finding — a muscle's
structural IMPACT corresponds to its cortical motor-HOMUNCULUS representation,
R² = 0.517 (F = 20.4, p = 2.4e-4 over 21 regions), matching the paper's 0.52
(F = 21.3). Honest scope: the impact-vs-recovery clinical model reproduces the
significant positive direction but a lower R² (0.41 vs the paper's 0.76). 36 cases.tms-eeg-tep-tesa — the ecosystem's first TMS
neurophysiology case. From the real TESA TMS-EEG recording (150 pulses,
59-channel EEG; figshare 3188800), PhysioNeurophys::setTMSpulses +
tepAverage recover the canonical TMS-evoked potential (TEP) component
sequence: all six components (N15/P30/N45/P60/N100/P180) in the correct
temporal ORDER (median latencies 16 < 31 < 45 < 66 < 115 < 188 ms,
monotonically increasing) and with the correct POLARITIES (peak sign matches
the expected N/P in 88–97 % of channels, mean 92 %), the N100 (~115 ms) and
P180 (~188 ms) at their literature latencies. Honest scope: single
participant, parietal (not motor) stimulation, and the case validates
component EXTRACTION (the source data was already pulse-artifact-cut) — not
TMS-artifact removal. (H-reflex was targeted too, but no public recruitment
dataset was available; the TMS side is folded here.) 35 cases.netphys-sleep-network-sleepedf — the ecosystem's first
network-physiology case (a new modality). A 6-node time-delay-stability
(TDS) network (EEG delta/alpha/sigma + EOG/EMG/respiration) is built from one
real overnight polysomnogram (Sleep-EDF Expanded) with the full PhysioNetPhysiology
TDS stack (physioNodeMatrix → timeDelayStability → tdsNetwork(surrogate) →
tdsNetworkByState → tdsReconfiguration) and split by sleep stage, reproducing
the field's signature finding: the physiological network reconfigures across
sleep stages — most integrated in REM (11 surrogate-significant links, density
0.73) and least in wake/light sleep (9, 0.60); the EEG-delta rhythm is the
persistent hub; and 6/15 couplings change between wake and REM. Links are kept
only if they beat a phase-randomised surrogate threshold. Honest scope: single
subject/night (the reconfiguration is the robust phenomenon; exact counts are
subject-specific), deterministic given seed=1. 34 cases.fnirs-activation-motor-mne — the ecosystem's first fNIRS
case, and a whole new modality. The full PhysioNIRS pipeline (readSNIRF →
intensityToOD → mbll → nirsActivationGLM → nirsActivationContrast) is run
on a real public finger-tapping recording (MNE-Python fnirs_motor) and validated
at two points: (1) CROSS-TOOL — mbll() reproduces MNE-Python's
beer_lambert_law() to machine precision (correlation 1.000 in all 28
channels; only µM-vs-M units differ); (2) PHYSIOLOGY — the GLM recovers the
canonical motor-activation signature, a task-evoked HbO increase (grand-average
peak +0.21 µM at ~5 s, significant in 18/28 channels) with a concurrent HbR
decrease (25/28). Honest scope: single subject; Tapping-vs-Control pools the two
hands (contralateral localisation left as an open question). 33 cases.gait-inverse-dynamics-fukuchi — turning measured motion
into joint kinetics and validating it against a real ground truth. Driving
PhysioMoCap::inverseDynamics2D() (Newton-Euler, de Leva inertia) with the WBDS
markers + ground reaction force, the recovered sagittal joint moments are
validated against the dataset's OWN independently-computed moments (the knt
files) and reproduce the expected distal-to-proximal accuracy gradient:
ankle r = 0.97, knee r = 0.85, hip r = 0.77 (mean over 5 subjects), with a
physiological ankle push-off peak (~1.66 N·m/kg reference). Honest scope: 2-D
sagittal only, and the hip peak inflates because the greater-trochanter marker is
a crude hip-centre proxy — reported, not hidden. 32 cases.cohort-longitudinal-parkinsons-updrs — the first
genuinely-longitudinal real-patient cohort case: on the public UCI Parkinson's
Telemonitoring data (42 patients, ~5,875 recordings over 6 months),
PhysioClinStats::fitMixedModel() reproduces the reference engine lme4::lmer()
byte-identically (max fixed-effect diff = 0, matching random-intercept SD), and
PhysioCore::PhysioCohort carries the 42-subject container end-to-end. Fills the
audit's real-patient-cohort maturity gap (honest scope: voice not gait; summary
UPDRS; validated claim = reference-engine reproduction).