Skip to main content

API for a high precision ECG Database with annotated R peaks (GUDB)

Project description

This is an API which provides transparent online access to the ECG GUDB http://researchdata.gla.ac.uk/716/ without the need of downloading it.

DOI: 10.5525/gla.researchdata.716

It contains ECGs from 25 subjects. Each subject was recorded performing 5 different tasks for two minutes:
  • sitting

  • a maths test on a tablet

  • walking on a treadmill

  • running on a treadmill

  • using a hand bike

The following channels were recorded with two Attys (https://www.attys.tech/) running synchronously:
  • Einthoven II and III with standard cables and the amplifier worn around the waist

  • Exercise cheststrap ECG which resembles approximtely V2-V1 with the ECG amplifier directly mounted on the strap

  • Acceleration in X/Y/Z whith the sensor mounted directly on the chest strap

The cheststrap ECG allowed R peak detection even while jogging at a very high precision (+/- one sample). The sampling rate was 250Hz at a resolution of 24 bits. The database contains the unfiltered, DC-coupled signals as originally recorded. In order to be able to link the ECG artefacts to the behaviour of the subject all but one subject gave permission to be filmed and the videos are also part of the database.

Installation

Simply install via pip or pip3:

pip install ecg_gudb_database
pip3 install ecg_gudb_database

Usage

Check out usage_example.py on github which plots the ECG and the heartrate of one subject.

Module

The module is called ecg_gudb_database:

from ecg_gudb_database import GUDb

The constructor loads the ECG data of one subject/experiment from github:

ecg_class = GUDb(subject_number, experiment)

where subject_number is from 0..24 and experiment is ‘sitting’, ‘maths’, ‘walking’, ‘hand_bike’ or ‘jogging’. The array ecg_class.experiments is an array of all experiments so that one can loop through the different experiments.

Retrieve the ECG data

The data is available as numpy arrays. The sampling rate is 250Hz for all experiments (ecg_class.fs). we have recorded Einthoven and from a chest strap.

Einthoven:

ecg_class.einthoven_I, ecg_class.einthoven_I_filt
ecg_class.einthoven_II, ecg_class.einthoven_II_filt
ecg_class.einthoven_III, ecg_class.einthoven_III_filt

Chest strap:

ecg_class.cs_V2_V1, ecg_class.cs_V2_V1_filt

where the filtered versions have 50Hz mains and DC removed.

R peak annotations

The two boolean variables ecg_class.anno_cs_exists and ecg_class.anno_cables_exists tell the user if annotations exist. If yes they can be obtained:

if ecg_class.anno_cs_exists:
    chest_strap_anno = ecg_class.anno_cs
else:
    print('No chest strap annotations')
if ecg_class.anno_cables_exists:
    cables_anno = ecg_class.anno_cables
else:
    print("No cables annotations")

Accelerometer data

The accelerometer was worn on a standard belt around the subject’s waist:

ecg_class.acc_x
ecg_class.acc_y
ecg_class.acc_z

Videos and full dataset for offline use

Where the participant has consented, there is a video for each of the tasks. The video and ECG data have been synchronised so they start and end at the same time. The full dataset with the videos can be requested here:

http://researchdata.gla.ac.uk/716/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ecg_gudb_database-1.0.2.tar.gz (3.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ecg_gudb_database-1.0.2-py3.6.egg (5.4 kB view details)

Uploaded Egg

ecg_gudb_database-1.0.2-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file ecg_gudb_database-1.0.2.tar.gz.

File metadata

  • Download URL: ecg_gudb_database-1.0.2.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for ecg_gudb_database-1.0.2.tar.gz
Algorithm Hash digest
SHA256 a36dae3122c3bf3fd08d45a0c431600d1067f5756cf837688540c95357ef3421
MD5 02966a2c6816bf0e0a5b57794ce503af
BLAKE2b-256 d228eb5b71110a486948c47990ec33f09f9c7beee657caf21fae869e8b72dbbf

See more details on using hashes here.

File details

Details for the file ecg_gudb_database-1.0.2-py3.6.egg.

File metadata

  • Download URL: ecg_gudb_database-1.0.2-py3.6.egg
  • Upload date:
  • Size: 5.4 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for ecg_gudb_database-1.0.2-py3.6.egg
Algorithm Hash digest
SHA256 a3fc8968558ffce2044bb72c81bb2b94f555070198fd2f9aebdc10384599d709
MD5 02affa8b2ab137608af526d6b82ef1fb
BLAKE2b-256 005c55836bd6ec773644324d8e6a34c384cda1a356242e04d6078f3cd50a788c

See more details on using hashes here.

File details

Details for the file ecg_gudb_database-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ecg_gudb_database-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a7f7a85e8cc847e60c8fa4d669bd00a52535252acf8c7b4d3f57295ed6a7c094
MD5 f878f84b201db9c52281f06b4b41614b
BLAKE2b-256 d5271775a0b8d2c26c6df959c74c08a78792e7dce3c424d4a4363aeffeb2f4b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page