Skip to main content

This Python package recognize patterns in an ECG and extract features

Project description

/docs/source/img/ECG-featurizer_banner.png

A method to extract features from electrocardiographic recordings

The purpose of this package is to make tabular data from ECG-recordings by calculating many features. The package is built on WFDB [1] and NeuroKit2 [2].

Documentation Status https://travis-ci.org/ECG-featurizer/ECG-featurizer.svg?branch=master https://coveralls.io/repos/github/ECG-featurizer/ECG-featurizer/badge.svg?branch=master https://badge.fury.io/py/ECG-featurizer.svg https://pypip.in/d/ECG-featurizer/badge.svg GitHub Forks GitHub Open Issues Project Status: Active - The project has reached a stable, usable state and is being actively developed. https://zenodo.org/badge/308713553.svg

Installation

To install ECG-featurizer, run this command in your terminal:

pip install ECG-featurizer

Documentation:

Featurize .dat-files:

from ECGfeaturizer import featurize as ef

# Make ECG-featurizer object
Feature_object =ef.get_features()

# Preprocess the data (filter, find peaks, etc.)
My_features=Feature_object.featurizer_dat(features=ecg_filenames,labels=labels,directory="./data/",demographical_data=demo_data)

Featurize .mat-files:

from ECGfeaturizer import featurize as ef

number_of_ECGs = <the amount of ECGs>
directory = "<your dir>"

# Make ECG-featurizer object
Feature_object =ef.get_features()

# Preprocess the data (filter, find peaks, etc.)
My_features=Feature_object.featurizer_mat(num_features=number_of_ECGs, mat_dir = directory)

features:

A numpy array of ECG-recordings in directory. Each recording should have a file with the recording as a time series and one file with meta data containing information about the patient and measurement information. This is standard format for WFDB and PhysioNet-files [1] [3]

Supported input files:

Input data

Supported file format

ECG-recordings

.dat files

Patient meta data

.hea files

labels:

A numpy array of labels / diagnoses for each ECG-recording. The length of the labels-array should have the same length as the features-array .. code-block:: python

len(labels) == len(features)

directory:

A string with the path to the features. If the folder structure looks like this:

mypath
├── ECG-recordings
│ ├── A0001.hea
│ ├── A0001.dat
│ ├── A0002.hea
│ ├── A0002.dat
│ └── Axxxx.dat

then the feature and directory varaible could be:

features[0] “A0001”

directory “./mypath/ECG-recordings/”

demographical_data:

The demographical data that is used in this function is age and gender. A Dataframe with the following 3 columns should be passed to the featurizer() function.

age

gender

filename_hr

0

11.0

1

“A0001”

1

57.0

0

“A0002”

2

94.0

0

“A0003”

3

34.0

1

“A0004”

The strings in the filename_hr -column should be the same as the strings in the feature array. In this example gender is OneHot encoded such that

1 = Female 0 = Male

Tutorials:

Other examples:

Contributing

GPLv3 license

Citation:

Citation guidelines will come

Popularity:

https://img.shields.io/pypi/dd/ECG-featurizer https://img.shields.io/github/stars/ECG-featurizer/ECG-featurizer https://img.shields.io/github/forks/ECG-featurizer/ECG-featurizer

References:

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-featurizer-1.0.7.tar.gz (129.7 kB view details)

Uploaded Source

Built Distribution

ECG_featurizer-1.0.7-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file ECG-featurizer-1.0.7.tar.gz.

File metadata

  • Download URL: ECG-featurizer-1.0.7.tar.gz
  • Upload date:
  • Size: 129.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.6.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for ECG-featurizer-1.0.7.tar.gz
Algorithm Hash digest
SHA256 67c466394af93d73c29420813fd528a66ab8807c57431b0db63dd9e840dee577
MD5 25035e6cedb5b5490bd3915d6a146195
BLAKE2b-256 2f924dc9bba447407e09414c564b69908fc5192b31fbe02274f884dd38caa3d6

See more details on using hashes here.

File details

Details for the file ECG_featurizer-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: ECG_featurizer-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.6.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for ECG_featurizer-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2c3dfd5e60861b740dce3a9b64400e6ee0679059706e9844e1b5082c00fdabd0
MD5 44d1a8a20aae69ce9f18bc682fb9c22a
BLAKE2b-256 a77b99bd6bd2d779da73a2bae6eb439706a6b157f2cdb13932dcfdcbc773416d

See more details on using hashes here.

Supported by

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