A comprehensive collection of open-source foundation models and publicly available datasets for electrocardiogram (ECG) and photoplethysmogram (PPG) analysis.
π Interactive Version: https://aramis00.github.io/ECGPPG_FM_dataset/
This repository provides curated lists of:
- 17 Foundation Models for ECG/PPG analysis (12-lead ECG, single-lead ECG, and PPG)
- 15 Open 12-Lead ECG Datasets
- 23 Open Reduced-Lead ECG and PPG Datasets
- Computational Benchmarks comparing model inference/training performance across hardware
All models include links to code repositories and pretrained weights. All datasets include access links and citations.
For programmatic access, data is available in CSV and JSON formats:
data/
βββ models.csv # Foundation models
βββ models.json
βββ ecg_datasets_12lead.csv # 12-lead ECG datasets
βββ ecg_datasets_12lead.json
βββ ecg_ppg_datasets_reduced.csv # Reduced-lead ECG & PPG datasets
βββ ecg_ppg_datasets_reduced.json
import pandas as pd
# Load models
models = pd.read_csv('data/models.csv')
# Load datasets
datasets_12lead = pd.read_csv('data/ecg_datasets_12lead.csv')
datasets_reduced = pd.read_csv('data/ecg_ppg_datasets_reduced.csv')
# Filter by size (using numeric columns)
large_datasets = datasets_12lead[datasets_12lead['records_numeric'] > 100000]| Model | Year | Backbone | Method | Pretrain Data | Data Size | Code | Weights |
|---|---|---|---|---|---|---|---|
| ECG-JEPA | 2024 | Transformer | M/R/G | CSN, Code-15 | 180K | Code | Weights |
| HuBERT-ECG | 2024 | CNN+Transformer | M/R/G | CODE, CPSC, CPSC-Extra, PTB, PTB-XL, ... | 9.1M | Code | Weights |
| DeepECG | 2025 | CNN+Transformer | CL | MIMIC-IV-ECG, Code-15, MHI-ds* | 1.9M | Code | Weights |
| ECG-FM | 2025 | CNN+Transformer | CL | CPSC, CPSC-Extra, PTB-XL, Georgia, CS... | 870K | Code | Weights |
| HeartLang | 2025 | Transformer | M/R/G | MIMIC-IV-ECG | 800K | Code | Weights |
| ECG-CPC | 2025 | CNN+SSM | CL | HEEDB | 10.7M | Code | Weights |
| ESI | 2024 | CNN (Text: Transformer) | CL+M/R/G | PTB-XL, CSN, MIMIC-IV-ECG | 660K | Code | Weights |
| MERL | 2024 | CNN (Text: Transformer) | CL | MIMIC-IV-ECG | 771K | Code | Weights |
| MELP | 2025 | CNN+Transformer (Text: Transformer) | CL+M/R/G | MIMIC-IV-ECG | 760K | Code | Weights |
| KED | 2024 | CNN (Text: Transformer) | CL | MIMIC-IV-ECG | 800K | Code | Weights |
| ECGFounder | 2024 | CNN | SL (multilabel) | HEEDB | 10.7M | Code | Weights |
| ST-MEM | 2024 | Transformer | M/R/G | CSN, Code-15 | 189K | Code | Weights |
| Model | Year | Backbone | Method | Pretrain Data | Data Size | Code | Weights |
|---|---|---|---|---|---|---|---|
| ECG-PT | 2024 | Transformer | M/R/G | PhysioNet CinC 2020 | 42M tokens | Code | Weights |
| HeartBERT | 2024 | Transformer | M/R/G | MIT-BIH, PTB-XL, European ST-T | 72M tokens | Code | Weights |
| Model | Year | Backbone | Method | Pretrain Data | Data Size | Code | Weights |
|---|---|---|---|---|---|---|---|
| PPG-PT | 2024 | Transformer | M/R/G | Capnobase/BIDMC/Cuffless BP | 128M tokens | Code | Weights |
| PaPaGei-S/-P | 2024 | CNN | CL | VitalDB, MIMIC-III waveform, MESA sleep | 57K hours | Code | Weights |
| PulsePPG | 2025 | CNN | CL+M/R/G | MOODS | 55K hours | Code | Weights |
- O = Open (freely available)
- R = Restricted (requires Data Use Agreement)
- C = Credentialed (requires credentialing process)
| Dataset | Records | Patients | Country | Setting | Access | Link |
|---|---|---|---|---|---|---|
| HEEDB | 11.7 M | 2.1 M | US | hospital diagnostic ECG | C | Link |
| CODE | 2.3 M (346 K CODE-15%) | 1.7 M(234 K CODE-15%) | Brazil | tele-health setting | R (CODE 15%, O; CODE-test, O) | Link |
| MIMIC-IV ECG | 800 K | 161 K | US | hospital diagnostic ECG | C | Link |
| SNUH LYDUS 167K | 167 K/, 50K | 167 K/ 50K | South Korea | Hospital diagnostic ECG | R (50K, O) | Link |
| IKEM | 98.1 K | 30.3 K | Czech Republic | hospital diagnostic ECG | O | Link |
| UK Biobank | 91.1 K | 82.7 K | UK | volunteered exams, diagnost... | R | Link |
| CSN | 45.2 K | 45.2 K | China | hospital diagnostic ECG | O | Link |
| SPH | 25.8 K | 25.7 K | China | hospital diagnostic ECG | O | Link |
| PTB-XL | 21.8 K | 18.9 K | Germany | diagnostic ECG - NR-Schille... | O | Link |
| ZZU pECG | 14.2 K | 11.6 K | China | hospital diagnostic ECG, pe... | O | Link |
| Georgia* | 10.3 K | 10.2 K | US | hospital diagnostic ECG | O | Link |
| CPSC 2018, CPSC 2018 extra | 10.3 K | 9.5 K | China | hospital diagnostic ECG | O | Link |
| SaMi-Trop | 2.0 K | 1.6 K | Brazil | Chagas cohort | O | Link |
| Pre-/Post-STEMI ECG Database, University of Michigan | 266 | 266 | US | hospital diagnostic ECG, ST... | O | Link |
| EchoNext | 100K | 36.3K | US | hospital diagnostic ECG | O | Link |
| Dataset | Records | PPG | ECG | Country | Access | Link |
|---|---|---|---|---|---|---|
| MIMIC-III Waveform Database | 67.8K (MIMIC-III match... | β | β | US | O | Link |
| WAVES | 550K (ECG); 510K (PPG) | β | β | US | R | Link |
| SCOPE | 4.5K | β | β | South Korea | O | Link |
| VitalDB | 6.4K | β | β | South Korea | O | Link |
| MOVER | 83.5K | β | β | US | O (currently N/A due to data revision) | Link |
| MIT-BIH Arrhythmia | 48 | - | β | US | O | Link |
| Long-term ST | 86 | - | β | Slovenia, Italy | O | Link |
| European ST-T | 90 | - | β | 8 Europe countries | O | Link |
| St Petersburg INCART | 75 | - | β | Russia | O | Link |
| MIT-BIH Atrial fibrillation | 25 | - | β | US | O | Link |
| Long term AF | 84 | - | β | US | O | Link |
| IRIDIA-AF | 167 | - | β | Belgium | O | Link |
| CPSC 2021 Paroxysmal Afib | 1.4K | - | β | O | Link | |
| Icentia11k | 54K | - | β | Canada | O | Link |
| CapnoBase | 42 | β | β | Canada | R | Link |
| MESA polysomnography | 2K | β | β | US | R | Link |
| SDB | 146 | β | β | Canada | O | Link |
| NuMoM2b | 5337 | β | β | US | R | Link |
| PPG-BP | 657 | β | - | China | O | Link |
| PPG DaLiA | 15 | β | β | Germany | O | Link |
| WESAD | 15 | β | β | Germany | O | Link |
| TROIKA (= IEEEPPG) | 12 | β | β | China | O | Link |
| ECSMP | 89 | β | β | China | O | Link |
We provide comprehensive computational benchmarks comparing foundation models on parameters, FLOPs, inference speed, training throughput, and memory usage across different hardware (A100, T4, CPU).
script/FM_computation/
βββ FM_computation.py # Benchmark script
βββ FM_computation.md # Documentation & results
βββ results/
βββ ecg_benchmark_A100_*.json # A100 GPU results
βββ ecg_benchmark_T4_*.json # T4 GPU results
βββ ecg_benchmark_cpu_*.json # CPU results
Key findings:
- Training time is dominated by sequence length and FLOPs, not parameter count
- HuBERT-ECG (92.8M params) trains ~3Γ faster than ECG-FM (90.4M params) due to more aggressive downsampling (93 vs 312 transformer tokens)
- MERL (ResNet18) achieves fastest inference at 9,616 samples/sec on A100
- Training memory scales with sequence Γ hidden dim: ESI (ConvNeXtV2-Base) is the largest training-memory consumer in the suite (~16 GB on A100)
See script/FM_computation/FM_computation.md for detailed benchmark results and methodology.
- CL = Contrastive Learning
- M/R/G = Masked/Reconstructive/Generative Learning
- SL = Supervised Learning
- SSL = Self-Supervised Learning
- ECG = Electrocardiogram
- PPG = Photoplethysmogram
- AUROC = Area Under the Receiver Operating Characteristic Curve
- Dx. = Diagnosis
- Afib = Atrial Fibrillation
- LVEF = Left Ventricular Ejection Fraction
- HEEDB = Harvard-Emory ECG Database
- CODE = Clinical Outcomes in Digital Electrocardiography
- MIMIC = Medical Information Mart for Intensive Care
- PTB-XL = Physikalisch-Technische Bundesanstalt ECG Database
- CSN = Chapman-Shaoxing-Ningbo Database
- CPSC = China Physiological Signal Challenge
If you use this resource, please cite the relevant papers for each model and dataset you use. BibTeX citations are available in the JSON data files.
Contributions are welcome! Please open an issue or pull request to:
- Add new open-source foundation models
- Add new publicly available datasets
- Fix errors or update links
This repository contains metadata and links only. Please refer to individual model and dataset licenses for usage terms.