Skip to main content
@elata-biosciences/biosignal-analytics is not published to npm yet. The API below reflects the source in the SDK repository and may change before the first release.

What it does

@elata-biosciences/biosignal-analytics turns biosignal data into features and scores in the browser, with no server or network connection:
  • EEG window features (WASM): band powers, spectral entropy, dominant frequency, alpha peak, Hjorth parameters, and quality flags
  • HRV and robust statistics: time-domain HRV, medians and MADs, rolling personal baselines
  • Headline scores: Measurement Quality, Activation, Recovery, Focus, Readiness, and Resilience, each with its contributors exposed
  • A metric registry: every metric has a registered definition, unit, evidence tier, and algorithm version
It pairs naturally with biosignal-session, but doesn’t require it.

Analyze an EEG window

One call per window keeps the JavaScript/WASM boundary cheap. The result includes the configuration and algorithm versions that produced it.

Headline scores

Scores are interpretations, not measurements, and they say so:
  • Measurement Quality describes the recording, not the person, and is always available.
  • Activation, Recovery, Focus, Readiness, and Resilience each list every contributor with its weight, z-score, and quality.
  • A score withholds itself (returns null with a reason) rather than guessing when inputs are missing, quality is poor, or there’s no personal baseline yet.
insufficient_history includes counts, so you can tell the user exactly how many more days are needed. Readiness needs 14 qualified days; Resilience needs 21 plus 6 recovered activation episodes.
Focus is deliberately not based on the theta/beta ratio, which isn’t a valid attention measure.

Run analysis off the main thread


Entry points

Feature code is verified against Python (NumPy/SciPy) reference fixtures, so the Rust, WASM, and TypeScript implementations agree.