# Ppg To Ecg Translation Eval

> Evaluates the fidelity of synthesizing ECG signals from PPG inputs and measures the downstream utility of the generated signals for cardiac and physiological task analysis. Use when the user wants to benchmark on WESAD, CAPNO, DALIA, BIDMC, MIMIC, PPG-BP, Cuffless-BP, or asks about evaluating this task. Reports RMSE.

- Skill: `qhjqhj00/ppg-to-ecg-translation-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/ppg-to-ecg-translation-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/ppg-to-ecg-translation-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/ppg-to-ecg-translation-eval

---


# ppg-to-ecg-translation-eval

> Region-Disentangled Diffusion Model for High-Fidelity PPG-to-ECG Translation — Shome et al. (2023) (arXiv:2308.13568, 2023)

## What this evaluates

Evaluates the fidelity of synthesizing ECG signals from PPG inputs and measures the downstream utility of the generated signals for cardiac and physiological task analysis.

## Datasets

- **WESAD** — total ?; splits: test (-1)
- **CAPNO** — total ?; splits: test (-1)
- **DALIA** — total ?; splits: test (-1)
- **BIDMC** — total ?; splits: test (-1)
- **MIMIC** — total ?; splits: test (-1)
- **PPG-BP** — total ?; splits: test (-1)
- **Cuffless-BP** — total ?; splits: test (-1)

## Metrics

- `RMSE` **(primary)** — range: other
  - Root Mean Square Error between generated and ground-truth ECG signals. Lower values indicate higher signal fidelity.
- `FD` — range: other
  - Fréchet Distance measuring distributional similarity between generated and real ECG signals. Lower is better.
- `MAE` — range: other
  - Mean Absolute Error for Heart Rate estimation in beats per minute (bpm). Lower is better.
- `Accuracy` — range: [0, 1]
  - Proportion of correctly classified instances for AFib detection, Stress/Affect classification, and Diabetes detection. Higher is better.
- `F1` — range: [0, 1]
  - Harmonic mean of precision and recall for AFib detection, Stress/Affect classification, and Diabetes detection. Higher is better.
- `MAE-SBP` — range: other
  - Mean Absolute Error for Systolic Blood Pressure estimation. Lower is better.
- `MAE-DBP` — range: other
  - Mean Absolute Error for Diastolic Blood Pressure estimation. Lower is better.

## Input / output format

**Input**: Raw photoplethysmography (PPG) time-series signals.

**Output**: Synthesized electrocardiogram (ECG) time-series signals.

## Scoring recipe

```python
def compute_metrics(ecg_gen, ecg_gt, labels, preds):
    rmse = sqrt(mean((ecg_gen - ecg_gt)**2))
    fd = frechet_distance(ecg_gen, ecg_gt)
    hr_mae = mean(abs(hr_pred - hr_gt))
    acc = accuracy_score(labels, preds)
    f1 = f1_score(labels, preds, average='macro')
    mae_sbp = mean(abs(sbp_pred - sbp_gt))
    mae_dbp = mean(abs(dbp_pred - dbp_gt))
    return {'RMSE': rmse, 'FD': fd, 'MAE': hr_mae, 'Acc': acc, 'F1': f1, 'MAE-SBP': mae_sbp, 'MAE-DBP': mae_dbp}
```

## Common pitfalls

- Comparing baselines trained with different diffusion sampling steps (e.g., T=10 vs T=50) without normalizing for inference cost or computational budget.
- Using different downstream classifiers or estimators across baselines and the proposed method, which complicates direct comparison of utility metrics.
- Treating 'upper bound' references as strict ceilings, when the paper notes original ECG signals may contain noise allowing generated signals to outperform them on certain tasks.

## Evidence (verbatim from paper)

> The results presented in Table 2 clearly show that RDDM surpasses the current state-of-the-art PPG-to-ECG translation model by a significant margin on all the datasets. For instance, RDDM improves RMSE from 0.63 to 0.24 on BIDMC.

## Citation

```bibtex
@misc{shome2023rddm,
  title={Region-Disentangled Diffusion Model for High-Fidelity PPG-to-ECG Translation},
  author={Shome et al. (2023)},
  year={2023},
  note={arXiv:2308.13568}
}
```

- arXiv: 2308.13568

