How zhangshanwei-mm/patchecg works
PatchECG is a research codebase for multi-label arrhythmia classification from digitized ECG signals, especially signals with missing leads and differing layouts. Its main workflow trains and evaluates masked, patch-based models; documented extensions use projection and ECGFounder. The repository also bundles comparison approaches for classification, forecasting, and imputation. The graph preserves those branches, but sampled source is incomplete: baseline connections rely on README descriptions and indexed references where noted, not on inspection of every implementation.
Main entry points: code_v5.py Patch classification · exp_my_classification.py TimeXer experiments · data_factory.py TimeXer data · train_model.py Training entry
Components 23
PatchECG workflow
- Training entry
src/train_model.py - ECG data handling
src/helper_code.py - Masking and augmentation
src/new_utils.py - Patch classification
src/code_v5.py - Model evaluation
src/eva_model.py - Projection variant
src/code_v5_projection.py - ECGFounder variant
baseline/ECGFounder/PatchEncoder/src/code_v5.py
Model components
- Transformer layers
src/my_transformer.py - Vision transformer
src/vit_transformer.py - Training utilities
src/utils.py
Comparison baselines
- Medformer classification
baseline/Medformer/my_medformer.py - Medformer experiment
baseline/Medformer/exp/exp_my_classification.py - TimeXer runner
baseline/TimeXer/run.py - TimeXer experiments
baseline/TimeXer/exp/exp_my_classification.py - TimeXer data
baseline/TimeXer/data_provider/data_factory.py - Time-series loaders
baseline/TimeXer/data_provider/data_loader.py - TimeXer models
baseline/TimeXer/models - Time-series layers
baseline/TimeXer/layers - Time-series utilities
baseline/TimeXer/utils - SimMTM classification
baseline/SimMTM/SimMTM_Classification/code/main.py
Imputation approaches
- SAITS imputation
baseline/SAITS-main/run_models.py - SAITS data preparation
baseline/SAITS-main/dataset_generating_scripts/gene_ptb_xl_dataset_saits.py
Other components
- Researcher
Connections 23
- Researcher → Training entry: starts training
- Training entry → Patch classification: trains model
- Patch classification → ECG data handling: uses ECG helpers
src/code_v5.py - Patch classification → Masking and augmentation: uses utilities
src/code_v5.py - Patch classification → Transformer layers: imports
src/code_v5.py - Patch classification → Training utilities: imports
src/code_v5.py - Transformer layers → Vision transformer: imports
src/my_transformer.py - Researcher → Model evaluation: evaluates model
- Researcher → Projection variant: selects variant
- Researcher → ECGFounder variant: runs variant
- Researcher → Medformer experiment: runs classification
- Medformer experiment → Medformer classification: uses model
baseline/Medformer/exp/exp_my_classification.py - Researcher → TimeXer runner: starts experiment
- TimeXer runner → TimeXer experiments: dispatches task
baseline/TimeXer/run.py - TimeXer experiments → TimeXer data: loads data
baseline/TimeXer/exp/exp_my_classification.py - TimeXer data → Time-series loaders: selects loaders
baseline/TimeXer/data_provider/data_factory.py - TimeXer experiments → TimeXer models: builds model
- TimeXer models → Time-series layers: uses layers
- TimeXer data → Time-series utilities: uses utilities
- Researcher → SimMTM classification: runs pretraining
- Researcher → SAITS data preparation: generates data
- Researcher → SAITS imputation: runs imputation
- SAITS data preparation → SAITS imputation: provides datasets