Several routines are available with the FECGSYN toolbox. On this page you can find a general overview on the algorithms available.

FECGSYN is an open-source toolbox. If you wish to include your methods on this toolbox, see how to contribute.

Simulating cardiac signals


FECGSYN is a realistic non-invasive foetal ECG (NI-FECG) generator that uses the Gaussian ECG model originally introduced by McSharry et al (2003). 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 feto-maternal 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. The FECGSYN is capable of simulating adult and non-invasive fetal ECG realistic simulations. Some of the features present are listed below:

  • Realistic noise sources included (i.e. muscular artifact, baseline wander and electrode motion)
  • Different VCG models from different individuals are availabe, including ectopic cases.
  • Each source, i.e. either cardiac (e.g. mother, fetus) or noise, is regarded as an individual punctual dipoles with different magnitudes and spatial positions, allowing multiple fetuses and any number of noise sources distributed through the volume conductor;
  • Translatory and rotatory motion of dipole sources is implemented. This improvement allow the modelling of fetal/maternal respiratory movements and fetal/noise movements inside the volume conductor;
  • Different SNRs were assigned to each source, meaning each fetus/noise could have distinct strengths;
  • Both heart rate signals and SNR strengths can be modulated, e.g. by a hyperbolic tangent to increase/decrease \ac{HR} or noises SNR;

When using FECGSYN, please reference to :

Reference
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. Physiol Meas 35(8), pp.1537-50, 2014.

History

FECGSYN is built upon the work from McSharry et al. and Sameni et al.. The original code from McSharry et al. is available in MATLAB and in C on PhysioNet ( ECGSYN). The code developed by Sameni et al. is part of the OSET toolbox, also available online in MATLAB ( OSET).

A summary of the latest modifications is available on the changelog section. For a detailed list of changes please see the GitHub repository:

Extracting NI-FECG signals


The FECGSYN toolbox includes several NI-FECG extraction algorithms. The following methods are currently implemented in the toolbox (references as: original_work | implementation_by):

Blind Source Separation
Template Subtraction
Adaptive Methods
Independent Component Analysis (ICA)
( Lathauwer1995 | Behar2014cinc)
Single adaptive gain (TSc)
( Cerutti1986 | Behar2014cinc)
Least Mean Square (LMS)
( Widrow1975 | Behar2014abme)
Principal Component Analysis (PCA)
Adaptive gains for P-QRS-T (TSm)
( Martens2007 | Behar2014cinc)
Root Mean Square (RMS)
( Behar2014abme)
Linear prediction (TSlp)
( Ungureanu2007 | Behar2014cinc)
Echo State Neural Networks (ESN)
( Behar2014abme)
TS-PCA (TSpca)
( Kanjilal997 | Behar2014cinc)
Kalman filtering (TSekf)
( Sameni2008 | Andreotti2014)

While using FECGSYN toolbox for extracting NI-FECG, please refer to:

Reference
Andreotti F., Behar J., Zaunseder S.,Oster J. and Clifford G D., An Open-Source Framework for Stress-Testing Non-Invasive Foetal ECG Extraction Algorithms. Physiol Meas 37(5), pp. 627-648, 2016.

Benchmarking algorithms


Along with extraction methods, the toolbox provides tools you can use to benchmark your method's FQRS detection or the morphological feature's accuracy. Benchmarking these methods involve several routines which are briefly listed below:

FQRS Detection
Template Generation
FECG Segmentation
Adaptative Threshold
( Pan1985 | Behar20014cinc)
Clustering method
( Oster2015)
ECGPUWAVE
( Jane1997 | Silva2014)

While using FECGSYN toolbox for benchmarking purposes, please refer to the following publication:

Reference
Andreotti F., Behar J., Zaunseder S.,Oster J. and Clifford G D., An Open-Source Framework for Stress-Testing Non-Invasive Foetal ECG Extraction Algorithms. Physiol Meas 37(5), pp. 627-648, 2016.

References


The following table refers to algorithms and toolboxes used during the development of the FECGSYN.
Key Reference
Andreotti2014 Andreotti, F., Riedl, M., Himmelsbach, T., Wedekind, D., Wessel, N., Stepan, H., … Zaunseder, S. (2014). Robust fetal ECG extraction and detection from abdominal leads. Physiol. Meas., 35(8), 1551–1567.
Andreotti2016 Andreotti F., Behar J., Zaunseder S.,Oster J. and Clifford G D., An Open-Source Framework for Stress -Testing Non-Invasive Foetal ECG Extraction Algorithms. Physiol Meas 5, pp. 627-648, 2016.
Behar2014abme Behar, J., Johnson, A.E.W., Clifford, G.D., Oster. J. (2014) A comparison of single channel fetal ECG extraction methods. Annals of Biomed Eng 42(6), pp. 1340-1353.
Behar2014cinc Behar, J., Oster, J., & Clifford, G. D. (2014). Combining and Benchmarking Methods of Foetal ECG Extraction Without Maternal or Scalp Electrode Data. Physiol Meas, 35(8), 1569–1589.
Behar2014model 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. Physiol Meas 35, pp.1537-50, 2014.
Cerutti1986 Cerutti, S., Baselli, G., Civardi, S., Ferrazzi, E., Marconi, A. M., Pagani, M., & Pardi, G. (1986).Variability analysis of fetal heart rate signals as obtained from abdominal electrocardiographic recordings. J. Perinat. Med., 14(6), 445–452. (Implementation by Behar2014cinc)
Jane1997 Jane, R., Blasi, A., Garcia, J., & Laguna, P. (1997). Evaluation of an automatic threshold based detector of waveform limits in Holter ECG with the QT database. In Computers in Cardiology, pp. 295–298.
Kanjilal997 Kanjilal, P. P., Palit, S., & Saha, G. (1997). Fetal ECG extraction from single-channel maternal ECG using singular value decomposition. IEEE Trans. Biomed. Eng., 44(1), 51–9. (Implementation by Behar2014cinc)
Lathauwer1995 De Lathauwer, Lieven, Bart De Moor, and Joos Vandewalle. Fetal electrocardiogram extraction by source subspace separation. Proc. IEEE SP/ATHOS Workshop on HOS, Girona, Spain. 1995.
Martens2007 Martens, S. M. M., Rabotti, C., Mischi, M., & Sluijter, R. J. (2007). A robust fetal ECG detection method for abdominal recordings. Physiol. Meas. , 28(4), 373–388. (Implementation by Behar2014cinc)
Oster2015 Oster, J., Behar, J., Sayadi, O., Nemati, S., Johnson, A., & Clifford, G. (2015).Semi-supervised ECG Ventricular Beat Classification with Novelty Detection Based on Switching Kalman Filters. IEEE Trans. Biomed. Eng., 62(9), 2125–2134.
Pan1985 Pan, J., & Tompkins, W. J. (1985). A Real-Time QRS Detection Algorithm. IEEE Trans. Biomed. Eng., 32(3), 230–236.
Sameni2008 Sameni, R. (2008). Extraction of Fetal Cardiac Signals from an Array of Maternal Abdominal Recordings, PhD thesis, Sharif University of Technology/Institut National Polytechnique de Grenoble. (Implementation by Andreotti2014 based on Sameni2010oset )
Sameni2010oset Sameni, R. (2010). The Open-Source Electrophysiological Toolbox (OSET) v2.1. Retrieved from http://www.oset.ir
Silva2014 Silva, I., Moody, G. B. (2014). An Open-source Toolbox for Analysing and Processing PhysioNet Databases in MATLAB and Octave. Journal of Open Research Software, 2(1), e27.
Ungureanu2007 Ungureanu, M., Bergmans, J. W. M., Oei, S. G., & Strungaru, R. (2007). Fetal ECG extraction during labor using an adaptive maternal beat subtraction technique. Biomed. Tech., 52(1), 56–60. (Implementation by Behar2014cinc)
Widrow1975 Widrow, B., Glover J.R., J., McCool, J. M., Kaunitz, J., Williams, C. S., Hearn, R H, Zeidler, J R, Eugene Dong,Jr. Goodlin, R C (1975). Adaptive noise cancelling: Principles and applications. Proceedings of the IEEE, 63(12), 1692–1716. (Implementation by Behar2014abme)