/docs/source/img/ECG-featurizer_banner.png
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 GitHub Forks GitHub Open Issues Project Status: Active - The project has reached a stable, usable state and is being actively developed.To install ECG-featurizer, run this command in your terminal:
pip install ECG-featurizer
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)
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)
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 formatECG-recordings .dat filesPatient meta data .hea files
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)
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/"
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
Citation guidelines will come
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