Conduction Lens
Cardiac models are routinely fit to an ECG and their conduction parameters reported, but a prior question is rarely asked: which of those parameters can an ECG actually determine?
Core trick
Trains a neural posterior estimator on simulated 12-lead ECGs, then audits parameter identifiability with simulation-based calibration and TARP.
Description
Cardiac models are routinely fit to an ECG and their conduction parameters reported, but a prior question is rarely asked: which of those parameters can an ECG actually determine? A model can fit perfectly and still carry no information about a parameter it never constrained.
I built a calibrated, amortized characterization of that identifiability. A single neural posterior estimator is trained over seven His-Purkinje and myocardial conduction parameters at fixed anatomy, from a simulated 12-lead ECG, and audited with simulation-based calibration, expected coverage, and TARP. Against a stated waveform noise floor (white Gaussian sigma 0.025 mV per sample per lead), four of the seven carry information: interventricular delay and myocardial velocity are well resolved, RV initial extent and conduction velocity are moderate, and LV extent, branch angle, and branch repulsivity stay diffuse, no tighter than the prior.
The parameter the ECG resolves best, interventricular delay, is exactly the timing clinicians program into resynchronization pacemakers, and the honest flip side is that a fitted value for a diffuse parameter is a prior belief, not a measurement. The result is simulated (no patient ECG) and conditional on the forward operator and the noise floor, and the calibration audit caught three of my own errors before they shipped.
Anyone fitting conduction models to the ECG can reuse the calibrated identifiability recipe (contraction against a stated floor, audited by SBC, coverage, and TARP) to say which of their own reported parameters are measurements and which are prior beliefs, and the released weights, sweeps, calibration artifacts, and verification ledger make that reuse turnkey. The same pipeline already runs on the public Strocchi cohort, so extending it to new anatomies is a config change, not a rebuild.
ricardogr07/ecg-purkinje-npe★ 00 forksJupyter NotebookApache-2.0Created Jul 9, 2026 · last push Oct 26, 2026
README excerpt
# ecg-purkinje-npe **Calibrated, amortized identifiability of the Purkinje conduction system from the surface ECG.** [](https://github.com/ricardogr07/ecg-purkinje-npe/actions/workflows/ci.yml) [](LICENSE) [](https://doi.org/10.5281/zenodo.21315609) [](https://d2b1qd2pllzgje.cloudfront.net) [](https://ricardogr07.github.io/projects/conduction-lens/) We train an amortized Neural Posterior Estimator (`sbi`) over cardiac conduction parameters at fixed anatomy and report, with formal calibration, **which parts of the His-Purkinje conduction system a 12-lead ECG can and cannot recover, at a stated observation-noise floor**. The contribution is a scientific finding, not a new method. Everything is measured on a **simulated** ECG; there is no real ECG in this project, and comparison against measured recordings is future work. Live demo: https://d2b1qd2pllzgje.cloudfront.net 