
@misc{biosppy,
  author = {Carlos Carreiras and Ana Priscila Alves and Andr\'{e} Louren\c{c}o and Filipe Canento and Hugo Silva and Ana Fred and others},
  title = {{BioSPPy}: Biosignal Processing in {Python}},
  year = {2015--},
  url = "https://github.com/PIA-Group/BioSPPy/",
  note = {[Online; accessed 23 August 2020]}
}


@misc{neurokit,
  doi = {10.5281/ZENODO.3597887},
  url = {https://github.com/neuropsychology/NeuroKit},
  author = {Makowski, Dominique and Pham, Tam and Lau, Zen J. and Brammer, Jan C. and Lespinasse, Fran\c{c}ois and Pham, Hung and Schölzel, Christopher and S H Chen, Annabel},
  title = {NeuroKit2: A Python Toolbox for Neurophysiological Signal Processing},
  publisher = {Zenodo},
  year = {2020},
}


@software{physiodatatoolbox,
	title = {PhysioData Toolbox},
	url = {https://PhysioDataToolbox.leidenuniv.nl},
	version = {v0.5},
	author = {E. E. (Elio) Sjak-Shie},
	date = {2019},
}


@article{matplotlib,
	title = {Matplotlib: A 2D graphics environment},
	volume = {9},
	doi = {10.1109/MCSE.2007.55},
	abstract = {Matplotlib is a 2D graphics package used for Python for application development, interactive scripting, and publication-quality image generation across user interfaces and operating systems.},
	pages = {90--95},
	number = {3},
	journaltitle = {Computing in Science \& Engineering},
	author = {Hunter, J. D.},
	date = {2007},
	note = {Publisher: {IEEE} {COMPUTER} {SOC}}
}


@article{scipy,
	title = {{SciPy} 1.0: Fundamental Algorithms for Scientific Computing in Python},
	volume = {17},
	doi = {10.1038/s41592-019-0686-2},
	pages = {261--272},
	journaltitle = {Nature Methods},
	author = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E. and Haberland, Matt and Reddy, Tyler and Cournapeau, David and Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and Bright, Jonathan and van der Walt, Stéfan J. and Brett, Matthew and Wilson, Joshua and Jarrod Millman, K. and Mayorov, Nikolay and Nelson, Andrew R. J. and Jones, Eric and Kern, Robert and Larson, Eric and Carey, {CJ} and Polat, İlhan and Feng, Yu and Moore, Eric W. and Vand {erPlas}, Jake and Laxalde, Denis and Perktold, Josef and Cimrman, Robert and Henriksen, Ian and Quintero, E. A. and Harris, Charles R and Archibald, Anne M. and Ribeiro, Antônio H. and Pedregosa, Fabian and van Mulbregt, Paul and Contributors, {SciPy} 1. 0},
	date = {2020}
}


@article{numpy,
	title = {Array programming with {NumPy}},
	volume = {585},
	copyright = {2020 The Author(s)},
	issn = {1476-4687},
	url = {https://www.nature.com/articles/s41586-020-2649-2},
	doi = {10.1038/s41586-020-2649-2},
	abstract = {Array programming provides a powerful, compact and expressive syntax for accessing, manipulating and operating on data in vectors, matrices and higher-dimensional arrays. NumPy is the primary array programming library for the Python language. It has an essential role in research analysis pipelines in fields as diverse as physics, chemistry, astronomy, geoscience, biology, psychology, materials science, engineering, finance and economics. For example, in astronomy, NumPy was an important part of the software stack used in the discovery of gravitational waves1 and in the first imaging of a black hole2. Here we review how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring and analysing scientific data. NumPy is the foundation upon which the scientific Python ecosystem is constructed. It is so pervasive that several projects, targeting audiences with specialized needs, have developed their own NumPy-like interfaces and array objects. Owing to its central position in the ecosystem, NumPy increasingly acts as an interoperability layer between such array computation libraries and, together with its application programming interface (API), provides a flexible framework to support the next decade of scientific and industrial analysis.},
	language = {en},
	number = {7825},
	urldate = {2020-09-23},
	journal = {Nature},
	author = {Harris, Charles R. and Millman, K. Jarrod and van der Walt, Stéfan J. and Gommers, Ralf and Virtanen, Pauli and Cournapeau, David and Wieser, Eric and Taylor, Julian and Berg, Sebastian and Smith, Nathaniel J. and Kern, Robert and Picus, Matti and Hoyer, Stephan and van Kerkwijk, Marten H. and Brett, Matthew and Haldane, Allan and del Río, Jaime Fernández and Wiebe, Mark and Peterson, Pearu and Gérard-Marchant, Pierre and Sheppard, Kevin and Reddy, Tyler and Weckesser, Warren and Abbasi, Hameer and Gohlke, Christoph and Oliphant, Travis E.},
	month = sep,
	year = {2020},
	note = {Number: 7825
Publisher: Nature Publishing Group},
	pages = {357--362},
	file = {Full Text PDF:C\:\\Users\\JohnDoe\\Zotero\\storage\\4XY22HJN\\Harris et al. - 2020 - Array programming with NumPy.pdf:application/pdf;Snapshot:C\:\\Users\\JohnDoe\\Zotero\\storage\\688BHXW3\\s41586-020-2649-2.html:text/html}
}


@inproceedings{pandas,
	title = {Data Structures for Statistical Computing in Python},
	pages = {56 -- 61},
	booktitle = {Proceedings of the 9th Python in Science Conference},
	author = {{McKinney}, Wes},
	date = {2010},
	doi = {10.25080/Majora-92bf1922-00a}
}


@online{opensignals,
	title = {{OpenSignals} {\textbar} Data Visualization Software {\textbar} Bitalino},
	url = {https://bitalino.com/en/software},
	urldate = {2020-03-12},
}


@article{edf,
	title = {A simple format for exchange of digitized polygraphic recordings},
	volume = {82},
	issn = {00134694},
	url = {https://linkinghub.elsevier.com/retrieve/pii/0013469492900097},
	doi = {10.1016/0013-4694(92)90009-7},
	pages = {391--393},
	number = {5},
	journaltitle = {Electroencephalography and Clinical Neurophysiology},
	shortjournal = {Electroencephalography and Clinical Neurophysiology},
	author = {Kemp, Bob and Värri, Alpo and Rosa, Agostinho C. and Nielsen, Kim D. and Gade, John},
	urldate = {2020-03-12},
	date = {1992-05},
	langid = {english},
}


@article{lipponen,
	title = {A robust algorithm for heart rate variability time series artefact correction using novel beat classification},
	volume = {43},
	issn = {0309-1902, 1464-522X},
	url = {https://www.tandfonline.com/doi/full/10.1080/03091902.2019.1640306},
	doi = {10.1080/03091902.2019.1640306},
	abstract = {Purpose: Heart rate variability is a commonly used measurement to evaluate functioning of autonomic nervous system, psychophysiological stress, and exercise intensity and recovery. {HRV} measurements contain artefacts such as extra, missed or misaligned beat detections, which can produce significant distortion on {HRV} parameters. In this paper, a robust automatic method for artefact detection from {HRV} time series is proposed.
Methods: The proposed detection method is based on time-varying thresholds estimated from distribution of successive {RR}-interval differences combined with a novel beat classification scheme. The method is validated using simulated extra, missed and misaligned beat detections as well as real artefacts such as atrial and ventricular ectopic beats.
Results: The sensitivity of the algorithm to detect simulated missed/extra beats was 100\%. The sensitivity to detect real atrial and ventricular ectopic beats was 96.96\%, the corresponding specificity being 99.94\%. The mean error in {HRV} parameters after correction was {\textless}2\% for missed and extra beats as well as for misaligned beats generated with large displacement factors. Misaligned beats with smallest displacement factor were the most difficult to detect and resulted in largest {HRV} parameter errors after correction, largest errors being {\textless}8\%.
Conclusions: The {HRV} artefact correction algorithm presented in this study provided comparable specificity and better sensitivity to detect ectopic beats as compared to state-of-the-art algorithms. The proposed algorithm detects abnormal beats with high accuracy, is relatively easy to implement, and secures reliable {HRV} analysis by reducing the effect of possible artefacts to tolerable level.},
	pages = {173--181},
	number = {3},
	journaltitle = {Journal of Medical Engineering \& Technology},
	shortjournal = {Journal of Medical Engineering \& Technology},
	author = {Lipponen, Jukka A. and Tarvainen, Mika P.},
	urldate = {2020-03-12},
	date = {2019-04-03},
	langid = {english},
}


@article{artiifact,
	title = {{ARTiiFACT}: a tool for heart rate artifact processing and heart rate variability analysis},
	volume = {43},
	issn = {1554-3528},
	url = {http://link.springer.com/10.3758/s13428-011-0107-7},
	doi = {10.3758/s13428-011-0107-7},
	shorttitle = {{ARTiiFACT}},
	abstract = {The importance of appropriate handling of artifacts in interbeat interval ({IBI}) data must not be underestimated. Even a single artifact may cause unreliable heart rate variability ({HRV}) results. Thus, a robust artifact detection algorithm and the option for manual intervention by the researcher form key components for confident {HRV} analysis. Here, we present {ARTiiFACT}, a software tool for processing electrocardiogram and {IBI} data. Both automated and manual artifact detection and correction are available in a graphical user interface. In addition, {ARTiiFACT} includes time- and frequency-based {HRV} analyses and descriptive statistics, thus offering the basic tools for {HRV} analysis. Notably, all program steps can be executed separately and allow for data export, thus offering high flexibility and interoperability with a whole range of applications.},
	pages = {1161--1170},
	number = {4},
	journaltitle = {Behavior Research Methods},
	shortjournal = {Behav Res},
	author = {Kaufmann, Tobias and Sütterlin, Stefan and Schulz, Stefan M. and Vögele, Claus},
	urldate = {2020-03-12},
	date = {2011-12},
	langid = {english},
}


@article{signalplant,
	title = {{SignalPlant}: an open signal processing software platform},
	volume = {37},
	issn = {0967-3334, 1361-6579},
	url = {http://stacks.iop.org/0967-3334/37/i=7/a=N38?key=crossref.9d050505915ddfe351292ae7c754749e},
	doi = {10.1088/0967-3334/37/7/N38},
	shorttitle = {{SignalPlant}},
	abstract = {The growing technical standard of acquisition systems allows the acquisition of large records, often reaching gigabytes or more in size as is the case with whole-day electroencephalograph ({EEG}) recordings, for example. Although current 64-bit software for signal processing is able to process (e.g. filter, analyze, etc) such data, visual inspection and labeling will probably suffer from rather long latency during the rendering of large portions of recorded signals. For this reason, we have developed {SignalPlant}—a standalone application for signal inspection, labeling and processing. The main motivation was to supply investigators with a tool allowing fast and interactive work with large multichannel records produced by {EEG}, electrocardiograph and similar devices. The rendering latency was compared with {EEGLAB} and proves significantly faster when displaying an image from a large number of samples (e.g. 163-times faster for 75 ×    106 samples). The presented {SignalPlant} software is available free and does not depend on any other computation software. Furthermore, it can be extended with plugins by third parties ensuring its adaptability to future research tasks and new data formats.},
	pages = {N38--N48},
	number = {7},
	journaltitle = {Physiological Measurement},
	shortjournal = {Physiol. Meas.},
	author = {Plesinger, F and Jurco, J and Halamek, J and Jurak, P},
	urldate = {2020-03-12},
	date = {2016-07-01},
	langid = {english},
}


@article{berntson,
	title = {{ECG} artifacts and heart period variability: {Don}'t miss a beat!},
	volume = {35},
	issn = {0048-5772, 1469-8986},
	shorttitle = {{ECG} artifacts and heart period variability},
	url = {http://doi.wiley.com/10.1111/1469-8986.3510127},
	doi = {10.1111/1469-8986.3510127},
	abstract = {The impact of artifacts on estimates of heart period variability were evaluated by modeling the effects of missed R-waves and spurious R-wave detections in actual and simulated heart period series. Results revealed that even a single artifact, occurring within a 128-s interbeat interval series, can impart substantial spurious variance into all commonly analyzed frequency bands, including that associated with respiratory sinus arrhythmia. In fact, the spurious variance introduced by a single artifact may be greater than that associated with true basal heart period variability and can far exceed typical effect sizes in psychophysiological studies. The effects of artifacts are not related to a specific analytical method and are apparent in both frequency and time domain analyses. Results emphasize the importance of artifact detection and resolution for studies of heart period variability.},
	language = {en},
	number = {1},
	urldate = {2020-08-14},
	journal = {Psychophysiology},
	author = {Berntson, Gary G. and Stowell, Jeffrey R.},
	month = jan,
	year = {1998},
	pages = {127--132},
}


@article{elgendi,
	title = {Systolic {Peak} {Detection} in {Acceleration} {Photoplethysmograms} {Measured} from {Emergency} {Responders} in {Tropical} {Conditions}},
	volume = {8},
	issn = {1932-6203},
	url = {https://dx.plos.org/10.1371/journal.pone.0076585},
	doi = {10.1371/journal.pone.0076585},
	abstract = {Photoplethysmogram (PPG) monitoring is not only essential for critically ill patients in hospitals or at home, but also for those undergoing exercise testing. However, processing PPG signals measured after exercise is challenging, especially if the environment is hot and humid. In this paper, we propose a novel algorithm that can detect systolic peaks under challenging conditions, as in the case of emergency responders in tropical conditions. Accurate systolic-peak detection is an important first step for the analysis of heart rate variability. Algorithms based on local maxima-minima, first-derivative, and slope sum are evaluated, and a new algorithm is introduced to improve the detection rate. With 40 healthy subjects, the new algorithm demonstrates the highest overall detection accuracy (99.84\% sensitivity, 99.89\% positive predictivity). Existing algorithms, such as Billauer’s, Li’s and Zong’s, have comparable although lower accuracy. However, the proposed algorithm presents an advantage for real-time applications by avoiding human intervention in threshold determination. For best performance, we show that a combination of two event-related moving averages with an offset threshold has an advantage in detecting systolic peaks, even in heat-stressed PPG signals.},
	language = {en},
	number = {10},
	urldate = {2020-08-14},
	journal = {PLoS ONE},
	author = {Elgendi, Mohamed and Norton, Ian and Brearley, Matt and Abbott, Derek and Schuurmans, Dale},
	month = oct,
	year = {2013},
	pages = {e76585},
}


@article{khodadad,
	title = {Optimized breath detection algorithm in electrical impedance tomography},
	volume = {39},
	issn = {1361-6579},
	url = {https://iopscience.iop.org/article/10.1088/1361-6579/aad7e6},
	doi = {10.1088/1361-6579/aad7e6},
	abstract = {Objective: This paper defines a method for optimizing the breath delineation algorithms used in electrical impedance tomography (EIT). In lung EIT the identification of the breath phases is central for generating tidal impedance variation images, subsequent data analysis and clinical evaluation. The optimisation of these algorithms is particularly important in neonatal care since the existing breath detectors developed for adults may give insufficient reliability in neonates due to their very irregular breathing pattern. Approach: Our approach is generic in the sense that it relies on the definition of a gold standard and the associated definition of detector sensitivity and specificity, an optimisation criterion and a set of detector parameters to be investigated. The gold standard has been defined by 11 clinicians with previous experience with EIT and the performance of our approach is described and validated using a neonatal EIT dataset acquired within the EU-funded CRADL project. Main results: Three different algorithms are proposed that improve the breath detector performance by adding conditions on (1) maximum tidal breath rate obtained from zero-crossings of the EIT breathing signal, (2) minimum tidal impedance amplitude and (3) minimum tidal breath rate obtained from time-frequency analysis. As a baseline a zero-crossing algorithm has been used with some default parameters based on the Swisstom EIT device. Significance: Based on the gold standard, the most crucial parameters of the proposed algorithms are optimised by using a simple exhaustive search and a weighted metric defined in connection with the receiver operating characterics. This provides a practical way to achieve any desirable trade-off between the sensitivity and the specificity of the detectors.},
	language = {en},
	number = {9},
	urldate = {2020-08-14},
	journal = {Physiological Measurement},
	author = {Khodadad, D and Nordebo, S and Müller, B and Waldmann, A and Yerworth, R and Becher, T and Frerichs, I and Sophocleous, L and van Kaam, A and Miedema, M and Seifnaraghi, N and Bayford, R},
	month = sep,
	year = {2018},
	pages = {094001},
}


@misc{gudb,
	type = {Data {Collection}},
	title = {High precision {ECG} {Database} with annotated {R} peaks, recorded and filmed under realistic conditions},
	copyright = {cc\_by\_4},
	url = {http://researchdata.gla.ac.uk/716/},
	abstract = {This database contains ECGs from 25 subjects. Each subject was recorded performing 5 different tasks for two minutes:
•sitting
•a maths test on a tablet
•walking on a treadmill
•running on a treadmill
•using a hand bike

The following channels were recorded with two Attys running synchronously:
•Einthoven II and III with standard cables and the amplifier worn around the waist
•Exercise cheststrap ECG which resembles approximtely V2-V1 with the ECG amplifier directly mounted on the strap
•Acceleration in X/Y/Z whith the sensor mounted directly on the chest strap

The cheststrap ECG allowed R peak detection even while jogging at a very high precision (+/- one sample). The sampling rate was 250Hz at a resolution of 24 bits. The database contains the unfiltered, DC-coupled signals as originally recorded. In order to be able to link the ECG artefacts to the behaviour of the subject all but one subject gave permission to be filmed and the videos are also part of the database.},
	language = {en},
	urldate = {2020-08-14},
	author = {Howell, Luis and Porr, Bernd},
	year = {2018},
	note = {Publisher: University of Glasgow},
}


@misc{pyside2,
	title = {Qt for {Python} — {Qt} for {Python}},
	url = {https://doc.qt.io/qtforpython/},
	urldate = {2020-08-22}
}
