ECG signal-quality assessment helps identify recordings that are unsafe or unreliable for clinical interpretation and downstream modelling. This research repository compares classical signal-quality-index (SQI) models with waveform Conformers on public 12-lead Set-A and single-lead Brno University of Technology (BUT) data, and packages four frozen models for reproducible inference.
Report/contains the complete report and final submission material.executive summary/contains the separate executive summary.
The complete project documentation is published as a static site at https://Sanssssssssssssssss.github.io/ecg_sqi_fusion/. It includes quick start, Docker inference, reproduction, architecture, research notes, tests, the report, and the executive summary.
Both directories currently contain placeholders; the final documents will be added before submission.
From the repository root:
docker build -f docker/inference/Dockerfile -t ecg-sqi-infer .
docker run --rm -v /host/data:/data ecg-sqi-infer predict \
--model singlelead-conformer --input /data/input --fs 500 --out /data/outputAvailable models are 12lead-conformer, singlelead-conformer,
12lead-rbfsvm, and singlelead-rbfsvm. Inputs may be NumPy, CSV, or WFDB
records. See docker/inference/README.md for the
four commands, accepted shapes, bundle verification, and WSL path examples.
Use Python 3.11 where possible:
pip install -r requirements.txt
python -m src.sqi_pipeline.run_all --verbose
python -m src.transformer_pipeline.run_all --run --train E31For reproduction instructions, see REPRODUCIBILITY.md,
DATA_AVAILABILITY.md, and
docs/code_architecture.md for commands, data,
outputs, and experiment lineage. Generated artifacts belong under outputs/;
the final report and executive summary remain separate.
Fresh-clone targets and the reproduction Docker wrapper are documented in
reproduce/README.md.
pip install -e ".[test]"
python -m pytest -q
python -m src.ecg_sqi_inference verify-bundlesChatGPT 5.5 was used to generate first drafts of code, format code, and polish and compress the report language. I reviewed the generated material and accept full responsibility for all submitted content.