{"id":15674667,"url":"https://github.com/elenamer/ecg_classification_dl","last_synced_at":"2025-08-09T22:12:36.702Z","repository":{"id":42464874,"uuid":"361541459","full_name":"elenamer/ecg_classification_DL","owner":"elenamer","description":"ECGDL: A framework for comparative study of databases and computational methods for arrhythmia detection from single-lead ECG","archived":false,"fork":false,"pushed_at":"2023-08-31T15:55:40.000Z","size":7621,"stargazers_count":17,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-06T23:29:42.526Z","etag":null,"topics":["arrhythmia-classification","ecg","machine-learning"],"latest_commit_sha":null,"homepage":"https://www.nature.com/articles/s41598-023-38532-9","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elenamer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-25T21:21:19.000Z","updated_at":"2025-04-30T07:18:16.000Z","dependencies_parsed_at":"2024-10-23T12:09:13.891Z","dependency_job_id":null,"html_url":"https://github.com/elenamer/ecg_classification_DL","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/elenamer/ecg_classification_DL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elenamer%2Fecg_classification_DL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elenamer%2Fecg_classification_DL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elenamer%2Fecg_classification_DL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elenamer%2Fecg_classification_DL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elenamer","download_url":"https://codeload.github.com/elenamer/ecg_classification_DL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elenamer%2Fecg_classification_DL/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269646002,"owners_count":24452844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-09T02:00:10.424Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arrhythmia-classification","ecg","machine-learning"],"created_at":"2024-10-03T15:49:05.656Z","updated_at":"2025-08-09T22:12:36.681Z","avatar_url":"https://github.com/elenamer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ECGDL: A framework for comparative study of databases and computational methods for arrhythmia detection from single-lead ECG\n\nMore details about this framework can be found in our [publication](https://www.nature.com/articles/s41598-023-38532-9).\n\nThis repository puts multiple ECG datasets for arrhythmia detection and arrhythmia detection methods under one umbrella. The focus is on using only one ECG lead in all methods. Initially, two different arrhythmia tasks are considered: *rhythm* classification and *heartbeat form* classification. \n\n## Usage\n\n#### Environment\n\nThe requirements.txt file provides all the dependencies to run this framework. \n\n#### Datasets\n\nUsing this [downloading script](https://github.com/elenamer/ecg_classification_DL/blob/8c1463daef7c21a0413f6e3830f8d60b7299cdc8/datasets/download_datasets.sh), all the datasets covered in this framework will be downloaded within a 'data' folder.\n\n#### Tasks\nCustom classification tasks can be defined as subsets of target arrhythmia classes. For this, please refer to the [label dictionary](https://github.com/elenamer/ecg_classification_DL/blob/f51e733954779774cd116bb41f6b5cf6a17144d5/tasks/class_mappings.csv), where a mapping of all relevant arrhythmia labels in each dataset is provided. They are mapped to common arrhythmia types. \n\nCustom tasks can be defined as .csv files in the /tasks folder. New tasks should be named in the following way: *newname*-task.csv (an example is the [form task file](https://github.com/elenamer/ecg_classification_DL/blob/f51e733954779774cd116bb41f6b5cf6a17144d5/tasks/form-task.csv)).\n\n#### Experiments\n\nThe main class in this framework is the *Experiment* class. Example scripts for defining and evaluating *Experiments* can be found [for recording-level datasets](https://github.com/elenamer/ecg_classification_DL/blob/f51e733954779774cd116bb41f6b5cf6a17144d5/run.py) and [for beat level datasets](https://github.com/elenamer/ecg_classification_DL/blob/f51e733954779774cd116bb41f6b5cf6a17144d5/run_physionet.py). More information about the categorization of the datasets and the implemented methodology can be found in our publication. \n\n## Experimental results\n\nResults from arrhythmia classification experiments can be found in our publication, as well as [within this repository](https://github.com/elenamer/ecg_classification_DL/blob/146d51dcebae66c873d428406cc397477b0d4acc/results_tables/README.md).\n\n\n## Citation\n\nIf this framework was useful in your work, please consider citing our paper:\n\n```\n@article{merdjanovska2023framework,\n  title={A framework for comparative study of databases and computational methods for arrhythmia detection from single-lead ECG},\n  author={Merdjanovska, Elena and Rashkovska, Aleksandra},\n  journal={Scientific Reports},\n  volume={13},\n  number={1},\n  pages={11682},\n  year={2023},\n  publisher={Nature Publishing Group UK London}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felenamer%2Fecg_classification_dl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felenamer%2Fecg_classification_dl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felenamer%2Fecg_classification_dl/lists"}