Dataset-generation pipeline for ECG question-answering / instruction data, extracted from
HeartWise-AI/ECG_tokenizer.
Builds the train/test QA parquets, prompt/answer variation banks, binary-diagnosis QA, SigLIP alignment pairs, and DPO samples consumed by the ECG tokenizer / MedGemma fine-tuning stack.
dataset_generation/
├── generate_train_test_datasets.py # main train/test QA builder
├── generate_train_val_parquets.py
├── generate_deepecg_qa.py
├── generate_binary_qa.py
├── build_multi_ecg_dataset.py # multi-ECG (nearby same-patient) samples
├── convert_ecg_qa_schema.py
├── ecg_prompt_maker.py # prompt templating
├── ecg_answer_generator.py # answer generation
├── generate_prompt_answer_variations.py
├── generate_per_prompt_variations.py
├── generate_siglip_alignment.py
├── balance_dataset.py
├── create_dpo_sample.py
├── dataset_column_mappings.py
├── siglip_shared.py # shared hard-negative targets
├── prompt_variations.json # variation banks (data)
├── prompt_variations_per_prompt.json
├── answer_variations.json
└── SCHEMA_SPEC.md
The generation scripts currently import from ECG_tokenizer's utils package
(utils.constants, utils.ddp). To run them, put the ECG_tokenizer repo root on
PYTHONPATH. This repo is not yet fully standalone — decoupling utils is tracked
as follow-up work.