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

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. Srivastava, A., Wu, W., Kurtek, S., Klassen, E., Marron, J. S., May 2011b. Registration of functional data using fisher-rao metric, arXiv:1103.3817v2 [math.ST].
2. Tucker, J.D., Wu, W., and Srivastava A., Generative models for functional data using phase and amplitude separation. Computational Statistics and Data Analysis (2012), doi:10.1016/j.csda.2012.12.001



1. Elastic Shape Analysis of Closed Curves in 2D or 3D

These programs take any two closed curves in 2D or 3D 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, GeodesicElasticClosed.m.

Downloadable Folder (ClosedCurves_2D3D files + README):

Reference:
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. [pdf]
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.[pdf]



2. Elastic Shape Analysis of Closed Curves in R n , n>3

These programs take any two closed curves in Rn, n>3 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, GeodesicElasticClosed.m.

Downloadable Folder (ClosedCurves_Rn files + README):

Reference:
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. [pdf]
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.[pdf]



3. Elastic Shape Analysis of Open Curves in 2D or 3D

These programs take any two open curves in 2D or 3D and compute a geodesic path between them under the elastic Riemannian metric. The output of these programs includes 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, mygeod.m.

Downloadable Folder (OpenCurves_2D3D files + README):

Reference:
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. [pdf]
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.[pdf]



4. Elastic Shape Analysis of Open Curves in Rn

These programs take any two open curves in Rn, n>3 and compute a geodesic path between them under the elastic Riemannian metric. The output of these programs includes 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, mygeod.m.

Downloadable Folder (OpenCurves_Rn + README):

Reference:
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. [pdf]
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.[pdf]