Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sunet-decoder-branch-eit

Code, preregistrations and per-seed results for:

Chen C-W, Wang T-C, Ko Y-F. A decoder branch for the cardiac component of lung EIT pays off for a network trained at 40 dB and evaluated under heavier noise, and not when training matches evaluation: a preregistered, parameter-matched evaluation. Submitted to Physiological Measurement, 2026.

The semi-Siamese U-Net separates the cardiac from the ventilatory component of GREIT-reconstructed lung EIT images with a decoder branch dedicated to the cardiac output. This repository holds everything needed to regenerate the two preregistered studies and the registered addendum: EIDORS data generation, training, scoring, the SNR sweep, the retrained 20 dB contrast, figures, tables, and the simulated-review and citation-verification record that the manuscript's Acknowledgements refer to.

Layout

Path What
PREREGISTRATION.md, .sha256 Study 1 (lung endpoint, n = 10), hashed 2026-08-28; §8 deviation log
PREREGISTRATION_HEART.md, .sha256 Study 2 (heart endpoint, n = 58), hashed 2026-08-29; §8 deviation log; §9 addendum (retrained 20 dB contrast, 35/25 dB levels, geometry bootstrap), hashed 2026-09-23 before any of its runs
RESULTS_STUDY2.md Laboratory record of every number, in registered order
METRIC_DEFECT_2026-09-18.md The scoring defect found after unblinding, and its correction
tools/ MATLAB/EIDORS data generation (gen_dataset.m, gen_snr_sweep.m, gen_snr_full.m, fwd_triple.m), training (train_arms.py, arms.py), scoring (evaluate.py), analyses (h3_snr.py, rel_err_sweep.py, noise_perturbation.py, geom_bootstrap.py, verify_manuscript_numbers.py), figures and tables (make_fig*.py, make_tables.py, make_table3.py, figstyle.py), citation registry (cite.py, apply_ref_overrides.py). tools/PlotNeuralNet/ is a vendored copy of HarisIqbal88/PlotNeuralNet (MIT) used for the architecture diagrams
results_v2_fix/ 40 dB primary analysis (five arms × 58 seeds): per_seed.csv, per_image.csv, summary.json
results_v2_snr{60,50,40,35,30,25,20}_heart_fix/, ..._lung_fix/ Evaluation-only sweep of the 40 dB-trained models
results_20db_fix/ Addendum §9.2: D and B_wide trained and evaluated at 20 dB
results_v1_*_fix/ Study 1
results/ Derived files: tables/ (Tables 1–3), geom_bootstrap.json, noise_perturbation_40_to_20.json, manuscript_numbers.json, env_mini.json
figures/ Fig. 1–4, S1 architecture diagrams, S3
refs/ Citation registry generated by cite.py from Crossref/PubMed, with the per-entry check table and the two documented overrides
review_record/ Simulated peer-review panel (round 1 and re-review), author triage, citation audits, and the patch-apply report of the revision, as referred to in the Acknowledgements
preds.npz The six dumped test frames behind Fig. 4

.gitignore excludes datasets (*.mat, regenerable), checkpoints (*.pt, 406 files ≈ 17 GB, available on request) and run folders.

Regenerating

  1. Data (MATLAB R2026a, EIDORS v3.8, Netgen 6.1; the phantom and noise helpers p2_*.m are in the companion project EIT_noise_geometry/src, referenced by relative path in the scripts): gen_dataset('data/v2', 3600, 'snr_db', 40) → gen_snr_sweep([60 50 40 35 30 25 20]) → gen_snr_full(20).
  2. Training (Python 3.9, PyTorch 2.8, one machine per contrast): python3 tools/train_arms.py --data data/v2/dataset.mat --arms B B_wide C C_wide D --seeds $(seq 0 57) --out runs --prereg PREREGISTRATION_HEART.md; the addendum: bash tools/run_addendum_mini.sh <sweep-root>.
  3. Scoring: python3 tools/evaluate.py --data <dataset.mat> --runs <runs> --out <results dir> --primary D B_wide --channel heart (the corrected quarter-amplitude path is the default; --qa-space normalised reproduces the defective pre-2026-09-18 numbers).
  4. Numbers, tables, figures: python3 tools/verify_manuscript_numbers.py, make_tables.py, make_table3.py, bash tools/build_figures.sh.

Every training run writes the SHA-256 of the preregistration it ran under into run_meta.json.

Licence

Code (tools/) is released under the MIT License (LICENSE). Data, results, figures and written records are released under CC BY 4.0 (LICENSE-DATA). tools/PlotNeuralNet/ retains its own MIT licence.

Contact

Yen-Fen Ko, Department of Biomedical Engineering, China Medical University, Taichung, Taiwan — kklven@gmail.com — ORCID 0000-0003-2986-9984

About

Preregistered, parameter-matched evaluation of the semi-Siamese U-Net's dedicated decoder branch for the cardiac component of GREIT-reconstructed lung EIT: EIDORS data generation, training/scoring/sweep code, hashed preregistrations with deviation logs, per-seed results, and the simulated-review and citation-verification record.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages