← All projects Physiotherapy & rehabilitation
Research prototype · Live site · Kaggle

ACL sEMG Robustness

A reproducible study of how processing choices change bilateral vastus-lateralis sEMG ratios. The original ACL analysis uses public Dryad data from 22 participants. A separate ENABL3S healthy-walking audit extends the methodological question to an independent source under fixed selection rules. Both have public Kaggle notebooks; the cohorts are not pooled.

22 Participants in the Dryad source
88 Public sEMG recordings
21 Processing specifications compared
6 Eligible ENABL3S participants, separate cohort
PRODUCT CAPABILITIES

What is implemented today

  • Trace original files through integrity checks and a reproducible pipeline.
  • Inspect whether a ratio changes with the amplitude summary, centering or filtering.
  • Compare controlled pauses, spikes, noise and unequal sensor scaling against a constructed reference.
  • Review code, figures, input attribution and executed outputs on public platforms.

Context

A bilateral ratio is easy to calculate, but its interpretation depends on recording quality and how the signal amplitude is summarized.

Problem

Pauses, isolated spikes, small denominators and unequal sensor scaling can change a symmetry estimate before clinical interpretation begins. I asked how sensitive the result was to explicit processing choices.

My role

Independent analysis, data verification, signal processing, reproducibility checks, visualization and notebook publication. Original measurements belong to the source researchers.

What I built

An offline pipeline, an individual signal viewer and public Kaggle notebooks. The Dryad analysis compares amplitude summaries, centering and filtering, with 23,100 synthetic evaluations. The independent ENABL3S extension assesses nine participants under fixed rules, with six eligible and three excluded, comparing eleven primary RMS specifications. Its public review notebook checks saved results and protocol fingerprints.

Data or evidence used

Gutierrez, Hart and Boukhechba (2022), Dryad, provide the original ACL source under CC0. Hu, Rouse and Hargrove provide the separate ENABL3S v2 source under CC BY 4.0. My ENABL3S figures and summaries transform selected bilateral walking segments and retain that attribution and license. Original project code and prose retain MIT notices; notebook-wrapper licensing does not relicense either data source.

Limitations

The Dryad release has no torque, IMU or return-to-sport outcomes. ENABL3S is an independent methods audit in healthy walking, not external clinical validation in ACL rehabilitation. Small samples, acquisition assumptions and segment selection limit interpretation. Synthetic perturbations are constructed failure cases; crossing ratio one is not automatically clinically important.

Next validation step

Move from methodological sensitivity to a separately designed clinical-validation study with synchronized sEMG and torque, repeated sessions, independent clinical measures and appropriate follow-up. The independent healthy-walking audit does not replace this step.

DATA AND REPRODUCIBILITY

Source data and published analysis

  1. Gutierrez, Hart & Boukhechba (2022). Original sEMG dataset. Dryad. https://doi.org/10.5061/dryad.66t1g1k4j ↗

    Original measurement source, credited separately from my analysis and figures.

  2. Gómez López, V. A. (2026). ACL sEMG: Robustness and Synthetic Scenarios. Kaggle. ↗

    Executed analysis notebook, methodological explanations, limitations and literature references.

  3. Hu, B. (2018). Benchmark datasets for bilateral lower limb neuromechanical signals from wearable sensors during unassisted locomotion in able-bodied individuals (Version 2) [Data set]. Figshare. ↗

    Independent healthy-walking source, CC BY 4.0. Original participant archives are not redistributed by this portfolio.

  4. Gómez López, V. A. (2026). ENABL3S sEMG: Independent Methods Audit. Kaggle. ↗

    Public methods-review notebook with the fixed-protocol results, sensitivity checks and limitations.

PythonNumPySciPypandasMatplotlibKaggle