This classifier uses three scripts:
run_12ECG_classifier.pymakes the classification of the clinical 12-Leads ECG. Add your classification code to therun_12ECG_classifierfunction. It callsget_12ECG_features.pyand to reduce your code's run time, add any code to theload_12ECG_modelfunction that you only need to run once, such as loading weights for your model.get_12ECG_features.pyextract the features from the clinical time-series data. This script and function are optional, but we have included it as an example.driver.pycallsload_12ECG_modelonce andrun_12ECG_classifiermany times. Both functions are inrun_12ECG_classifier.pyfile. This script also performs all file input and output. Please do not edit this script or we may be unable to evaluate your submission.
You can run this classifier by installing the packages in the requirements.txt file and running
python driver.py input_directory output_directory
where input_directory is a directory for input data files and output_directory is a directory for output classification files. The PhysioNet/CinC 2020 webpage provides a training database with data files and a description of the contents and structure of these files.
The driver.py, run_12ECG_classifier.py, and get_12ECG_features.py scripts need to be in the base or root path of the Github repository. If they are inside a subfolder, then the submission will fail.
“The baseline classifiers are simple logistic regression models. They use statistical moments of heart rate that we computed from the WFDB signal file (the .mat file) and demographic data taken directly from the WFDB header file (the .hea file) as predictors.
The code uses a Python Online and Offline ECG QRS Detector based on the Pan-Tomkins algorithm. It was created and used for experimental purposes in psychophysiology and psychology. You can find more information in module documentation: https://github.com/c-labpl/qrs_detector