{"id":19554143,"url":"https://github.com/berndporr/ecg-gudb","last_synced_at":"2025-08-07T04:41:59.383Z","repository":{"id":54885968,"uuid":"269942408","full_name":"berndporr/ECG-GUDB","owner":"berndporr","description":"API for transparently accessing the Glasgow University ECG database (GUDB)","archived":false,"fork":false,"pushed_at":"2024-11-10T20:16:52.000Z","size":73858,"stargazers_count":14,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-10T21:21:02.791Z","etag":null,"topics":["api","ecg","python"],"latest_commit_sha":null,"homepage":"http://researchdata.gla.ac.uk/716/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/berndporr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-06-06T10:11:05.000Z","updated_at":"2024-11-10T20:16:55.000Z","dependencies_parsed_at":"2024-11-03T13:41:53.132Z","dependency_job_id":null,"html_url":"https://github.com/berndporr/ECG-GUDB","commit_stats":{"total_commits":24,"total_committers":1,"mean_commits":24.0,"dds":0.0,"last_synced_commit":"170441db1f3462ae2ba0f81d041183f0d2401bb5"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berndporr%2FECG-GUDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berndporr%2FECG-GUDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berndporr%2FECG-GUDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berndporr%2FECG-GUDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/berndporr","download_url":"https://codeload.github.com/berndporr/ECG-GUDB/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224047565,"owners_count":17246845,"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","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":["api","ecg","python"],"created_at":"2024-11-11T04:26:04.303Z","updated_at":"2024-11-11T04:26:05.201Z","avatar_url":"https://github.com/berndporr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# High precision ECG Database with annotated QRS complexes\n\nThis is a mirror of the ECG GUDB\nhttp://researchdata.gla.ac.uk/716/ and provides online access via\na python API.\n\nDOI: https://doi.org/10.5281/zenodo.10925419\n\n![Example of a dataset](https://berndporr.github.io/ECG-GUDB/dataplot.jpg)\n\nIt contains ECGs from 25 subjects. Each subject was recorded performing 5 different tasks for two minutes:\n   * sitting\n   * a maths test on a tablet\n   * walking on a treadmill\n   * running on a treadmill\n   * using a hand bike\n\nThe following channels were recorded with two Attys (https://www.attys.tech/) running synchronously:\n   * Einthoven II and III with standard cables and the amplifier worn around the waist\n   * Exercise cheststrap ECG which resembles approximtely V2-V1 with the ECG amplifier directly mounted on the strap\n   * Acceleration in X/Y/Z whith the sensor mounted directly on the chest strap\n   \nThe cheststrap ECG allowed R peak detection even while jogging at a\nvery high precision (+/- one sample). The sampling rate was 250Hz at a\nresolution of 24 bits. The database contains the unfiltered,\nDC-coupled signals as originally recorded. In order to be able to link\nthe ECG artefacts to the behaviour of the subject all but one subject\ngave permission to be filmed and the videos are also part of the\ndatabase.\n\n\n\n## Installation\n\nSimply install via pip or pip3\n\n```\npip install ecg_gudb_database\npip3 install ecg_gudb_database\n```\n\n   \n## Usage\n\nCheck out `usage_example.py` on github which plots the ECG and the heartrate of one subject.\n\n\n### Module\n\nThe module is called `ecg_gudb_database`:\n\n```\nfrom ecg_gudb_database import GUDb\n```\n\nThe constructor loads the ECG data of one subject/experiment from github:\n\n```\necg_class = GUDb(subject_number, experiment)\n```\n\nwhere `subject_number` is from 0..24 and `experiment` is 'sitting', 'maths', 'walking', 'hand_bike' or 'jogging'.\nThe array `ecg_class.experiments` is an array of all experiments so that one can loop through the different experiments.\n\nOptionally, in case you decide later to download the whole dataset from http://researchdata.gla.ac.uk/716/ then\nspecify the absolute path to the dataset with the optional parameter url without the \"file:\" specifier:\n\n```\necg_class = GUDb(subject_number, experiment, url = \"/home/bp1/dataset_dataset_716/experiment_data/\")\n```\n\n### Retrieve the ECG data\n\n\nThe data is available as numpy arrays. The sampling rate is 250Hz for all experiments (`ecg_class.fs`).\nWe have recorded Einthoven and from a chest strap.\n\n#### Einthoven\n\n```\necg_class.einthoven_I, ecg_class.einthoven_I_filt\necg_class.einthoven_II, ecg_class.einthoven_II_filt\necg_class.einthoven_III, ecg_class.einthoven_III_filt\n```\n\n#### Chest strap\n\n```\necg_class.cs_V2_V1, ecg_class.cs_V2_V1_filt\n```\n\nwhere the filtered versions have 50Hz mains and DC removed.\n\n\n\n#### R peak annotations\n\nThe two boolean variables `ecg_class.anno_cs_exists` and `ecg_class.anno_cables_exists`\ntell the user if annotations exist. If yes they can be obtained.\n\n```\necg_class.anno_cs\necg_class.anno_cables\n```\n\n#### Accelerometer data\n\nThe accelerometer was worn on a standard belt around the subject's waist.\n\n```\necg_class.acc_x\necg_class.acc_y\necg_class.acc_z\n```\n\n## Videos and full dataset for offline use\n\nWhere the participant has consented, there is a video for each of the tasks. Here is an example: \n\nhttps://berndporr.github.io/ECG-GUDB/\n\nThe video and ECG data have been synchronised so they start and end at the same time. The full dataset with the\nvideos can be requested here:\n\nhttp://researchdata.gla.ac.uk/716/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberndporr%2Fecg-gudb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fberndporr%2Fecg-gudb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberndporr%2Fecg-gudb/lists"}