GRAPL – Computational Structural Causal Inference
Python library for nonparametric structural causal modelling, analysis and inference.
If you use this code, please cite: M.A. Little (2022), GRAPL: A computational library for nonparametric structural causal modelling, analysis and inference, Journal of Open Source Software, 7(76), 4534
DPPolyAlg – Polymorphic DP
Lightweight Python code library implementing polymorphic dynamic programming.
If you use this code, please cite:
M.A. Little, X. He, U. Kayas (2024), Dynamic programming by polymorphic semiring algebraic shortcut fusion, Formal Aspects of Computing (in press)
CB-LIB – Causal bootstrapping
Matlab code for causal bootstrapping. This implements the discrete back-door and front-door algorithms.
If you use this code, please cite:
M.A. Little, R. Badawy (2019), Causal Bootstrapping, arXiv:1910.09648
QCiHMMAR – iHMM-AR-based signal quality control
Matlab implementation of signal quality control using infinite HMM with AR observations and naive Bayes classification.
If you use this code, please cite:
R. Badawy, Y.P. Raykov, L.J.W. Evers, B.R. Bloem, M.J. Faber, A. Zhan, K. Claes, M.A. Little (2018), Automated quality control for sensor based symptom measurement performed outside the lab, Sensors, (18)4:1215
MAP-DP – MAP-DP clustering
Matlab and Python implementations of the MAP-DP clustering algorithm (Normal-Wishart case). This can be seen as a method for fitting Dirichlet process mixtures which is orders of magnitude faster than Gibbs sampling.
If you use this code, please cite:
Y.P. Raykov, A. Boukouvalas, F. Baig, M.A. Little (2016), What to do when K-means clustering fails: a simple yet principled alternative algorithm, PLoS One 11 (9), e0162259
PWCTools – The piecewise constant toolbox
Matlab and Python implementations of algorithms for noise removal from 1D piecewise constant signals, such as total variation and robust total variation denoising, bilateral filtering, K-means, mean shift and soft versions of the same, jump penalization, and iterated medians. It uses a range of solvers including interior-point optimization, adaptive step-size Euler integration and greedy knot placement.
If you use this code, please cite:
M.A. Little, N.S. Jones (2011), Generalized methods and solvers for noise removal from piecewise constant signals: Parts I and II, Proceedings of the Royal Society A
TVDIP – Total Variation Denoising (TVD) by convex interior-point optimization
Matlab software for performing TVD for 1D signals. This is an efficient approach to edge-preserving removal of noise from piecewise-constant signals. This algorithm minimizes the biased discrete total variation functional, which avoids the need to find an inaccurate discretisation of the associated Euler-Lagrange PDE, as is often done in image processing applications.
If you use this code, please cite:
M.A. Little, N.S. Jones (2010), Sparse Bayesian step-filtering for high-throughput analysis of molecular machine dynamics in 2010 IEEE International Conference on Acoustics, Speech and Signal Processing, 2010. ICASSP 2010 Proceedings.: Dallas, TX, USA (in press)
FastMedFilt1D – Fast, exact 1D median filtering
A fast Matlab 1D median filter implementation. With the MEX core routine compiled using a decent compiler, compared against Matlab's own proprietary toolbox implementation, this algorithm achieves 10:1 performance gains for large window sizes.
If you use this code, please cite:
M.A. Little, N.S. Jones (2010), Sparse Bayesian step-filtering for high-throughput analysis of molecular machine dynamics in 2010 IEEE International Conference on Acoustics, Speech and Signal Processing, 2010. ICASSP 2010 Proceedings.: Dallas, TX, USA (in press)
StepsBumpsToolkit – Step filtering and discrete dwell state extraction
Matlab software accompanying the paper below. Contains fast functions for step-filtering of single-molecule time traces. Includes functions for step-filtering of time series with autocorrelated noise, functions for analysing periodicities in the dwell locations of the time series, and associated utility functions.
If you use this code, please cite the appropriate reference as detailed in each function.
M.A. Little, B.C. Steel, F. Bai, Y. Sowa, T. Bilyard, D.M. Mueller, R.M. Berry, N.S. Jones (2010), Steps and Bumps: Precision Extraction of Discrete States of Molecular Machines using Physically-based, High-throughput Time Series Analysis, Biophysical Journal (in press).
FastDFA – Fast detrended fluctuation analysis
A fast Matlab implementation of the detrended fluctuation analysis algorithm.
If you use this code, please cite:
M. Little, P. McSharry, I. Moroz, S. Roberts (2006), Nonlinear, biophysically-informed speech pathology detection in 2006 IEEE International Conference on Acoustics, Speech and Signal Processing, 2006. ICASSP 2006 Proceedings.: Toulouse, France. pp. II-1080-II-1083.
RPDE – Recurrence period density entropy
Matlab software performing RPDE analysis. The embedding parameters can be set by the user or chosen semi-automatically.
If you use this code, please cite:
M.A. Little, P.E. McSharry, S.J. Roberts, D.A.E. Costello, I.M. Moroz (2007), Exploiting nonlinear recurrence and fractal scaling properties for voice disorder detection, BioMedical Engineering OnLine 2007, 6:23.
Powernoise – Generate power law noise or general 1/fα noise
Efficient Matlab software for generating noise time series whose power spectrum scales as a power law with frequency, i.e. |P(f)|2 = 1/fα. Special cases include 1/f noise (α = 1) and white noise (α = 0).
If you use this code, please cite:
M.A. Little, P.E. McSharry, S.J. Roberts, D.A.E. Costello, I.M. Moroz (2007), Exploiting nonlinear recurrence and fractal scaling properties for voice disorder detection, BioMedical Engineering OnLine 2007, 6:23.