This Python package recognize patterns in an ECG and extract features
Project description
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].
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
Citation:
Citation guidelines will come
Popularity:
References:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67c466394af93d73c29420813fd528a66ab8807c57431b0db63dd9e840dee577 |
|
MD5 | 25035e6cedb5b5490bd3915d6a146195 |
|
BLAKE2b-256 | 2f924dc9bba447407e09414c564b69908fc5192b31fbe02274f884dd38caa3d6 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c3dfd5e60861b740dce3a9b64400e6ee0679059706e9844e1b5082c00fdabd0 |
|
MD5 | 44d1a8a20aae69ce9f18bc682fb9c22a |
|
BLAKE2b-256 | a77b99bd6bd2d779da73a2bae6eb439706a6b157f2cdb13932dcfdcbc773416d |