File Exchange

image thumbnail


version 3.0 (8.99 MB) by tetonedge
MATLAB library for elastic functional data analysis


Updated 30 Jan 2021

From GitHub

View Version History

View license on GitHub

MATLAB library for elastic functional data analysis
A MATLAB package for functional data analysis using the square root velocity framework which performs pair-wise and group-wise alignment as well as modeling using functional component analysis


Download zip or tar.gz of package or clone repository
Run setup.m to setup paths and compile MEX functions NOTE: Armadillo c++ library required for bayesian code.

Tucker, J. D. 2014, Functional Component Analysis and Regression using Elastic Methods. Ph.D. Thesis, Florida State University.

Robinson, D. T. 2012, Function Data Analysis and Partial Shape Matching in the Square Root Velocity Framework. Ph.D. Thesis, Florida State University.

Huang, W. 2014, Optimization Algorithms on Riemannian Manifolds with Applications. Ph.D. Thesis, Florida State University.

Srivastava, A., Wu, W., Kurtek, S., Klassen, E. and Marron, J. S. (2011). Registration of Functional Data Using Fisher-Rao Metric. arXiv:1103.3817v2 [math.ST].

Tucker, J. D., Wu, W. and Srivastava, A. (2013). Generative models for functional data using phase and amplitude separation. Computational Statistics and Data Analysis 61, 50-66.

J. D. Tucker, W. Wu, and A. Srivastava, ``Phase-Amplitude Separation of Proteomics Data Using Extended Fisher-Rao Metric," Electronic Journal of Statistics, Vol 8, no. 2. pp 1724-1733, 2014.

J. D. Tucker, W. Wu, and A. Srivastava, "Analysis of signals under compositional noise With applications to SONAR data," IEEE Journal of Oceanic Engineering, Vol 29, no. 2. pp 318-330, Apr 2014.

Srivastava, A., Klassen, E., Joshi, S., Jermyn, I., (2011). Shape analysis of elastic curves in euclidean spaces. Pattern Analysis and Machine Intelligence, IEEE Transactions on 33 (7), 1415-1428.

S. Kurtek, A. Srivastava, and W. Wu. Signal estimation under random time-warpings and nonlinear signal alignment. In Proceedings of Neural Information Processing Systems (NIPS), 2011.

Wen Huang, Kyle A. Gallivan, Anuj Srivastava, Pierre-Antoine Absil. "Riemannian Optimization for Elastic Shape Analysis", Short version, The 21st International Symposium on Mathematical Theory of Networks and Systems (MTNS 2014).

Xie, W., S. Kurtek, K. Bharath, and Y. Sun (2016). "A Geometric Approach to Visualization of Variability in Functional Data." Journal of the American Statistical Association in press: 1-34.

Y. Lu, R. Herbei and S. Kurtek (2017). "Bayesian Registration of Functions with a Gaussian Process Prior." Journal of Computational and Graphical Statistics: in press: 1-34

Lee, S. and S. Jung, 2017: Combined analysis of amplitude and phase variations in functional data. arXiv:1603.01775 [stat.ME], 1–21.

J. D. Tucker, J. R. Lewis, and A. Srivastava, “Elastic Functional Principal Component Regression,” Statistical Analysis and Data Mining, vol. 12, no. 2, pp. 101-115, 2019.

J. D. Tucker, J. R. Lewis, C. King, and S. Kurtek, “A Geometric Approach for Computing Tolerance Bounds for Elastic Functional Data,” Journal of Applied Statistics, 10.1080/02664763.2019.1645818, 2019.

Cite As

tetonedge (2021). fdasrvf (, GitHub. Retrieved .

Comments and Ratings (5)

Alexey Koloydenko

Apologies for my previous comment, which was misleading as I had mistakenly interpreted time as a vector of just the beginning and end times, that error is now gone.
But I am still a bit unclear about kmeans and DPmeans, in particular if the comments below DPmeans referring under `Usage' to kmeans are correct. Also, it seems that to capture correct values of the input parameters in both the methods the conditions on nargin need to be corrected. Thanks again for this contribution.
function obj = DPmeans(obj,lambda1,option)
% DPmeans Dirichlet Process K-Means clustering and alignment
% -------------------------------------------------------------------------
% This function clusters functions and aligns using the elastic square-root
% slope (srsf) framework using Dirchelet Process Mixture Model
% Usage: obj.kmeans(lambda)
% obj.kmeans(lambda,option)

Dextin Chen

AMAZING!!! this saved lots of works for my master thesis:)

蕾 雷


Federico Masiero

A great work! I'm reading the phd thesis for a better understanding, but for sure a reference point for my phd activity! Thanks a lot

Francesco Cannarile

MATLAB Release Compatibility
Created with R2016b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!