✨ Directory of Projects
Algorithms for Neonatal EEG (+ NIRS), Signal Processing Tools, Machine Learning Methods, and More
Directory of repositories on this Github page.
Computer code for analysing neurophysiological signals
Also includes code for generic signal processing tools (such as time--frequency analysis) and machine learning tools.
Table of Contents
- Quantitative EEG (qEEG)
- Detecting Bursts or Inter-Bursts in Neonatal EEG
- Near Infraread Spectroscopy (NIRS)
- Heart Rate Variability (HRV)
- Tools for Time--Frequency Signal Analysis
- Tools for Connectivity
- Signal-Processing and Machine-learning Tools
- Code to Accompany Published Papers
- Plots for Review Paper on Time--Frequency Processing of Nonstationary Biomedical signals
- Monitoring cerebral oxygenation of preterm infants using a neonatal specific sensor
- Quantitative features of the EEG recorded minutes after birth
- Evolution of qEEG in preterm infants over the first days of life
- EEG concordance in preterm twins
Quantitative EEG (qEEG)
NEURAL -- a neonatal EEG feature set in Matlab (and Python)
- Curated set of quantitative features for neonatal EEG.
- Clearly defined features (full description and accompanying code).
- code: github (Matlab version)
- code: github @BrianMur92 (Python version)
- paper (preprint): arXiv:1704.05694
Detecting Bursts or Inter-Bursts in Neonatal EEG
Inter-Burst Detector
Preterm EEG
Method: features + SVM
- Machine learning method to detect inter-burst intervals in preterm EEG.
- Developed and tested on a cohort of infants <30 weeks gestational age.
- code: github | Python version
- code: github | Matlab version
- paper: O'Toole et al., Med Eng Phys, 2017
Method: single feature
- Generic method to detect bursts: high-amplitude coupled with high-frequency.
- Includes envelope derivative operator (EDO) and nonlinear energy operator (NLEO).
- code: github | Matlab version
- code: github | Python version
- paper: O'Toole et al., EMBC-2014
Term EEG (in trace alternant activity)
- Machine learning method to detect bursts and inter-bursts in term EEG during Quiet Sleep.
- Trained and tested on a cohort of healthy, normal newborns.
- code: github @sumitraurale | Matlab code
- paper: Raurale et al., EMBC-2020
Burst Detector
Preterm EEG
- Method to detect short-duration bursts of activity in preterm (<30 weeks GA) EEG.
- code: github @BrianMur92 | Python code
- paper: Murphy et al., EMBC-2020
Near Infraread Spectroscopy (NIRS)
Synthetic NIRS signals
- Generates cerebral oxygenation-like signals (rcSO2).
- code: github | Matlab code
- papers: O'Toole et al., EMBC-2018 and Ashoori et al., EMBC-2021
Method to extract transient components from NIRS signal
- Method to extract sparse, transient-like signals from the cerebral oxygenation signals.
- Method is based on singular spectral analysis and signal rotation using the cosine transform.
- code: github | Matlab code
- paper: Ashoori et al., EMBC-2021
Heart Rate Variability (HRV)
Standard features of HRV
- Generates some standard features (e.g. spectral power ratios) of HRV.
- code: github | Matlab code
- papers (e.g.): Garvey et al., Pediatric Research, 2021
Tools for Time--Frequency Signal Analysis
Fast and Memory Efficient Algorithms for Computing Time--Frequency Distributions (TFD)
- Algorithms to compute quadratic TFDs.
- Saves computation and computer memory, thus enabling computation of TFDs for long-duration signals.
- code (recommend): github | Matlab code
- code (for exact TFD): github | Matlab code
- paper: O'Toole and Boashash, App Comp Harm Anal, 2013
- book chaper: JM O'Toole and B Boashash, “Memory Efficient Algorithms for Quadratic TFDs”, Chapter 6.6; in Time–Frequency Signal Processing and Analysis: A Comprenhensive Reference, Second Edition, Academic Press, pp. 374–385, 2016 (ISBN: 9780123984999).
Methods to Estimate the Instantaneous Frequency from TFDs
- Two methods to extract/estimate the Instantaneous Frequency (IF) from TFDs.
- Method 1 uses an edge-linking strategy (see Rankine et al., 2007); Methods 2 uses the concept of finite duration IF components McAulay and Quatieri, 1986
- code: github | Matlab code
- papers: Rankine et al., 2007 and McAulay and Quatieri, 1986; also see list of references in github page.
Tools for Connectivity
Features of Nonstationary Directional Coupling
- Code to generate a short-time information partial directed coherence (ST-iPDC) function and code to extract nonstationary and time-varying directional features from the ST-iPDC.
- Also includes a 2D fractal dimension measure.
- code: github | Matlab code
- paper: O'Toole et al., Physiological Measurement, 2021
Signal-Processing and Machine-learning Tools
Random Convolution Kernels with Multiscale Decomposition
- Zero-knowledge machine-learning algorithm.
- Adapted from ROCKET to incorporate multiscale analysis.
- code: github | Python code
- paper: Lundy and O'Toole, EUSIPCO-2021
Mutual information estimates
- Fast implementation of methods for calculating mutual information, for both the continuous--continuous case and discrete--continuous case.
- code: github | Matlab code
- paper: Kraskov et al., 2004 and Ross 2014.
Envelope--Derivative Operator
- A frequency-weighted energy operator (also used as burst-detector).
- code: github | Matlab version
- code: github | Python version
- paper: O'Toole et al., EMBC-2014
Code to Accompany Published Papers
Plots for Review Paper on Time--Frequency Processing of Nonstationary Biomedical signals
- Plot of time--frequency analysis methods in review paper for IEEE Signal Processing Magazine.
- code: github | Matlab code
- paper: Boashash et al., 2013
Monitoring cerebral oxygenation of preterm infants using a neonatal specific sensor
- Methods for determining association with short-term clinical outcome (brain injury or death) and cerebral oxygenation as measured by NIRS.
- code: github | R and Matlab code
- paper: DOI: 10.1038/s41372-017-0007-5
Quantitative features of the EEG recorded minutes after birth
- Quantitative analysis of EEG recorded in the delivery room.
- code: github | Matlab code
- paper: DOI: 10.1136/archdischild-2018-315231
Evolution of qEEG in preterm infants over the first days of life
- Methods to track the evolution of the EEG over the first 3 days after birth.
- code: github | R and Matlab code
- paper: DOI: 10.1038/s41598-019-41227-9
EEG concordance in preterm twins
- Methods to compare qEEG features between preterm singletons and twins.
- code: github | R and Matlab code
- paper: Lloyd et al., J Clin Neurphys, 2021
This work is licensed under a Creative Commons Attribution 4.0 International License.