Skip to content

v1.2.0

Latest

Choose a tag to compare

@CellularSyntax CellularSyntax released this 16 Sep 01:03

CARDIOKOOP v1.2.0 — CI-verified reproducibility package

Code, model checkpoints, dataset splits, raw simulations and result files accompanying
Real-Time Hemodynamic Prediction via Control-Aware Koopman Operator Models (Haberbusch, Brandt, Aprile, Lung, Kuijper, Moscato; Array, Elsevier, 2026).

Software archive (self-contained, all Git-LFS data files resolved): Zenodo DOI 10.5281/zenodo.22776287 (concept DOI 10.5281/zenodo.22776286). Dataset splits: 10.5281/zenodo.21163127.

What is new

  • Docker image + continuous-integration reproduction check. Dockerfile (python:3.11-slim, CPU build of torch 2.6.0, every pin of environment/requirements-pinned.txt) with scripts/reproduce.sh as default command; .github/workflows/reproduce.yml builds the image, downloads the seed-42 splits from the Zenodo dataset record (MD5-verified), regenerates Tables 3–5, the statistics and the R² conventions from the checkpoints on an independent x86-64 runner and fails on any difference beyond the last printed digit (1467 metrics). The verified image is published as ghcr.io/cellularsyntax/cardiokoop:v1.2.0 — digest sha256:7a73bb820c70016b1a0641d08c9f97cc542a9a8641990762da61c4a1d679aa92 (built and pushed by the tag-triggered CI run https://github.com/CellularSyntax/CARDIOKOOP/actions/runs/35042569162; verify with docker buildx imagetools inspect ghcr.io/cellularsyntax/cardiokoop:v1.2.0).
  • scripts/tables/compare_results.py — committed-vs-fresh comparison at manuscript rounding (per-metric precision rules, off-by-one tolerance unless --strict, full diff report compare_report.md).
  • Frozen MLP baseline predictions (results/mlp/mlp_postprocessing_results.pkl): the diverging float32 rollout of the MLP baseline is platform-sensitive, so its stored test predictions are used for Tables 3/4/5; every run re-rolls the checkpoint and gates the deviation at 2 % relative (mlp_recompute_check.json).
  • Pinned environment (environment/requirements-pinned.txt, PyTorch 2.6 / Optuna 4.7.0) and CITATION.cff.
  • Repository layout: scripts/experiments/ (baseline, ablation and robustness experiments), scripts/tables/ (table export and verification), results/experiments/, results/tables/; docs/REPRODUCIBILITY.md maps every manuscript table/figure/number to its script and result file and documents the R² conventions, checkpoint identity, statistics, cross-platform numerics and CI pass criteria.

Reproduce

docker run --rm -v "$PWD/out:/workspace/out" ghcr.io/cellularsyntax/cardiokoop:v1.2.0
# or locally: pip install torch==2.6.0 && pip install -r environment/requirements-pinned.txt && pip install -e . && python scripts/tables/export_manuscript_tables.py

Koopman model on the seed-42 test split (n = 50 trajectories, 1499-step horizon): %RMSE 17.5 ± 1.5, pooled R² 0.69 ± 0.03.