Skip to content

Latest commit

 

History

History
86 lines (63 loc) · 4.24 KB

README.md

File metadata and controls

86 lines (63 loc) · 4.24 KB

Fetal ECG Benchmarking

Robust Fetal QRS Detection from Non-invasive Electrocardiogram Recordings

GitHub last commit GitHub

The emerging technology of non-invasive fetal electrocardiography shows promise as a new sensing technology for fetal cardiac activity, offering potential advancements in the detection and management of perinatal asphyxia. Although algorithms for fetal QRS detection have been developed in the past, only a few of them demonstrate accurate performance in the presence of noise and artifacts. We propose Power-MF, a new algorithm for fetal QRS detection combining power spectral density and matched filter techniques. This repository presents a benchmark of Power-MF against against three open-source algorithms on two recently published datasets (Abdominal and Direct Fetal ECG Database: ADFECG, subsets B1 Pregnancy and B2 Labour; Non-invasive Multimodal Foetal ECG-Doppler Dataset for Antenatal Cardiology Research: NInFEA).

Link to publication: https://doi.org/10.1088/1361-6579/ad4952

drawing

The algorithm benchmarking comprises the following algorithms:

Results

This is an overview of the algorithm benchmarking results. The complete evaluation can be found in the corresponding publication: xxx

NInFEA Dataset

drawing

ADFECG Dataset

drawing

Project Structure

fecg-benchmarking
│   README.md
├── Code    # The core library folder. All project-wide helper and algorithms go here
│   ├── benchmark_algorithms.m  # Main script for algorithm benchmarking
│   ├── parameter_optimization.m    # Script for optimizing Power-MF's parameter
│   ├── PowerMF.m   # Function for Power-MF algorithm
│   ├── Behar14.m   # Function for Behar14 algorithm
│   ├── Sulas21.m   # Function for Sulas21 algorithm
│   ├── Varanini14.m    # Function for Varanini14 algorithm
│   ├── subfunctions    # Subfunctions required for algorithms
│       ├── README.md
│       ├── ...
│   ├── helper # Helper functions 
│   ├── plot # Plot functions
│       ├── boxplots_adfecgdb.m # Script to create results boxplot for ADFECG dataset
│       ├── boxplots_ninfea.m   # Script t create results boxplot for NInFEA dataset
├── Data  # Datasets
│   ├── README.md
│   ├── ...
├── Results  # Contains result files
│   ├── ...

Getting Started

Installation

git clone https://github.com/mad-lab-fau/fecg-benchmarking.git

Requirements

MATLAB version R2021a

To use this code, the following steps are required:

  1. Clone the repository
  2. Download the datasets NInFEA, ADFECG and Challenge2013 in the respective folders in ./Data/
  3. Run the script xx to convert raw data files to .mat files -> TODO
  4. Download the dependencies to the folder ./Code/subfunctions/
  5. Run ./Code/benchmark_algorithms.m to generate algorithm results and store them in ./Results/folder
  6. Run ./Code/boxplots_adfecgdb.m and ./Code/boxplots_ninfea.m to generate boxplots from results in ./Results/folder