Releases: fernandoandreotti/fecgsyn
Asymmetric volume conductor modeling
Asymmetric volume conductor modeling code added by @emersonkeenan . Please cite:
Keenan E., Karmakar C K. and Palaniswami M., The effects of asymmetric volume conductor modeling on non-invasive fetal ECG extraction. Physiol Meas 39(10), pp. 105013, 2018
(https://arxiv.org/abs/1806.11346)
Features
- Included exemplary model of mother, fetus and vernix
- Import 3D anatomic models as presented in Keenan et al 2018
- Set vernix caseosa distribution and thickness in predefined regions
- Generate finite element mesh from 3D models using Iso2Mesh with compartment specific mesh size and conductivity
- Calculate lead field matrices using FieldTrip-Simbio pipeline
- Simulate ECG signals at chosen sensor positions
- Updated website documentation for Getting started, as well as referencing
Fetal signal quality indices added
Features
- Novel signal quality indices (SQI) added as presented in Andreotti et al 2017
- Naive Bayes classifier summarizes different SQI metrics into a consensus metric.
- 4 additional QRS detectors modified for FECG use
- Minor restructuring of folders
Extraction methods, benchmarking platform, statistics and FECGSYNDB
v1.1 : 2016.03.15
Major update and inclusion of several extraction methods and benchmarking tools.
- Features
- Benchmark toolbox for FQRS detection and morphological analysis
- 8 Extraction methods included (as described in Andreotti et al 2016)
- FECGSYNDB released
- Overall restructuration of toolbox directory
- Bug Fixes
- 0.1 : @fernandoandreotti fixed several bugs in calibration, generation and evaluation
- 0.3 : noise generation function updated by Julien Oster
- 0.4 : @mosalvi GUI updated to match new release?
FECGSYN: A realistic ECG waveform generator
Introduction
FECGSYN (http://physionet.org/physiotools/ipmcode/fecgsyn/) is a realistic non-invasive foetal ECG (NI-FECG) generator that uses the Gaussian ECG model originally introduced by McSharry et al. The toolbox generates synthetic NI-FECG mixtures considering various user-defined settings, e.g. noise sources, heart rate and heart rate variability, rotation of the maternal and foetal heart axes due to respiration, foetus movement, contractions, ectopic beats and multiple pregnancy. Any number of electrodes can be freely placed on the maternal abdomen. The synthetic ECG simulator is a good tool for modelling realistic FECG-MECG mixtures and specific events such as abrupt heart rate increase, in order to benchmark signal processing algorithms on realistic data and for scenarios that resemble important clinical events.
FECGSYN is fruit of the collaboration between the Department of Engineering Science, University of Oxford (DES-OX) and the Institute of Biomedical Engineering, TU Dresden (IBMT-TUD). The authors are Joachim Behar (DES-OX), Fernando Andreotti (IBMT-TUD), Julien Oster (DES-OX), Sebastian Zaunseder (IBMT-TUD) and Gari D. Clifford (DES-OX).
A stable version of the source code for MATLAB and Octave is available here. For developers, a Git repository with the latest modifications is also available here. A standalone applications (using the MATLAB Compiler Runtime) is also available here. The source code comes with a graphical user interface that was contributed by Mohsan Alvi (DES-OX). All the code is freely available under the GNU GPL (General Public License). A log of the changes made to this Physionet webpage is available here.
Referencing this work
When using FECGSYN, please reference the following original paper:
Behar J., Andreotti F., Zaunseder S., Li Q., Oster J. and Clifford G D., An ECG model for simulating maternal-foetal activity mixtures on abdominal ECG recordings. Physiological Measurement 35. 1537-50; 2014.
Contribute
Please fill free to play around with the code and please report any bugs that you may encounter.
changelog - first release (code submitted to Physionet)
- Capable of modelling any number of foetuses and noise sources
- Sources are able to be rotated and translated
- Noise signals can be modulated by any function
- GUI fully functional to help through first-steps