CardioAnnotate

100% client-side · No uploads Initializing...
📖 Help
📄

1)Signal: Load Local WFDB Files (.hea + .dat/.mat) or CSV

Virtual dir: /home/pyodide/records/

Pick matching header (.hea) and signal (.dat / .mat) with the same basename, e.g. 100.hea + 100.dat.

2) Signal Viewer & Annotations

Quick Classify R-peak:
Peak detection
Run automatic detection on full signal or visible segment, assign results to a peak type.
R-peaks P-peaks Q-waves S-waves T-peaks U-waves

Classify R-peak

3) Metadata, Annotations Import & Export

Signal: original
Annotation format:

4) Signal Operations

Resampling changes fs. Annotations remain at old indices until reprojected.

Filters (Butterworth, zero-phase):

Or band-pass:

5) Stats & Log

R-peaks
0
P-peaks
0
Q-waves
0
S-waves
0
T-peaks
0
U-waves
0

6) Statistics

Signal quality (visible segment)
Computed on the currently visible window of the active channel. pSQI is QRS-band relative power; basSQI flags baseline wander; lineSQI estimates mains interference; kSQI is Pearson kurtosis (Gaussian ≈ 3).

RR error detection & correction (visible segment)
Flags implausible RR intervals using absolute bounds and/or beat-to-beat rate-of-change rules, then optionally replaces flagged intervals via Gaussian process regression trained on the remaining RR intervals.

HRV (visible segment)
Computed from R-peaks within the current zoom window. Requires ≥2 R-peaks (time-domain) and ≥4 RR intervals (frequency-domain).
Segment: s
CardioAnnotate — Changelog

PRE-RELEASE v0.1.0 — unreleased

  • First release!