SOFTWARE AVAILABLE FOR FREE PUBLIC USE


We request the authors to cite relevant papers if any results based on these programs are included in their papers.
Most of this software is a Matlab code that uses mex files (C/C++ files available as functions in Matlab after compilation using the mex command).
Before using these programs compile DynamicProgrammingQ.c in Matlab.

Caution: This software is provided as-is without any technical support from the authors. Please refer to the relevant papers listed with the software for technical details. These programs have been tested on standard datasets and have worked in most situations but there is no guarantee that they will work in all situations. The authors may not be able to answer any question or help in debugging any usage of these programs.

1. Elastic Functional Data Analysis
(or Registration of Functional Data or Phase-Amplitude Separation of Functional Data)

These programs take a set functions and align them under the elastic Riemannian metric. The programs also compute the vertical and horizontal functional principal component analysis (fPCA) as well as modeling using the principal components. The input curves can be arbitrarily parameterized. A short description of inputs and outputs can also be found inside the main program, time_warping. The MATLAB code is provided by the link below and a R package *fdasrvf* can be found on CRAN at SRVF_FDA_R

Downloadable Folder (SRVF_FDA files + README):

Reference:
1. A. Srivastava, W. Wu, S. Kurtek, E. Klassen, J. S. Marron, May 2011b. Registration of functional data using Fisher-Rao metric , arXiv:1103.3817v2 [math.ST].
2. J. D. Tucker, W. Wu, and A. Srivastava, Generative models for functional data using phase and amplitude separation . Computational Statistics and Data Analysis (2012), doi:10.1016/j.csda.2012.12.001.
3. S. Kurtek, W. Wu, and A. Srivastava, Signal Estimation Under Random Time Warpings and Its Applications in Nonlinear Signal Alignment , Neural Information Processing Systems (NIPS) , Grenada, Spain, December 2011.


2. Elastic Shape Analysis of Parameterized Curves

These programs take any curves and compute a geodesic path between them under the elastic Riemannian metric. The outputs of these programs include shapes placed equidistant along the geodesic paths and the geodesic distance between the input shapes. The input curves can be arbitrarily parameterized. A short description of inputs and outputs can also be found inside the main program.

  1. (a) This set of problems is for closed curves in 2D or 3D, and the main program describing inputs/outputs is called GeodesicElasticClosed.m.

    Downloadable Folder (ClosedCurves_2D3D files + README):


  2. (b) This set of programs analyzes any two closed curves in Rn, n>3. A short description of inputs and outputs can also be found inside the main program, GeodesicElasticClosed.m.

    Downloadable Folder (ClosedCurves_Rn files + README):


  3. (c) These programs take any two open curves in 2D or 3D. The input curves can be arbitrarily parameterized. A short description of inputs and outputs can also be found inside the main program, mygeod.m.

    Downloadable Folder (OpenCurves_2D3D files + README):

  4. (d) These programs take any two open curves in Rn, n>3. A short description of inputs and outputs can also be found inside the main program, mygeod.m.

    Downloadable Folder (OpenCurves_Rn + README):


References:
S. H. Joshi, A. Srivastava, E. Klassen and I. Jermyn, A Novel Representation for Computing Geodesics Between n-Dimensional Elastic Curves , IEEE Conference on computer Vision and Pattern Recognition (CVPR) , Minneapolis, MN, June 2007.
A. Srivastava, E. Klassen, S. Joshi, and I. Jermyn, Shape Analysis of Elastic Curves in Euclidean Spaces , IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, issue 7, pages 1415-1428, July 2011.



3. Pairwise Alignment of Chromatograms in Analytical Chemistry

This program calculates the warping function necessary to bring two chromatograms into alignment. A square root representation of the chromatogram’s derivative coupled with a Fisher Rao Riemannian metric enables the computation of relative differences between chromatograms. Minimization of these differences using a dynamic programming algorithm brings the chromatograms into alignment. A sample alignment problem is provided.

Downloadable Folder ( Pairwise_Alignment.m + associated files):


References:
W.E. Wallace, A. Srivastava, K.H. Telu, and Y. Simón-Manso , Pairwise Alignment of Chromatograms using a Fisher-Rao Metric , submitted to Analytica Chimica Acta. , 2014.