This function aligns the SRVFs of two functions in \(R^1\) defined on an interval \([t_{\min}, t_{\max}]\) using dynamic programming or RBFGS
optimum.reparam(
Q1,
T1,
Q2,
T2,
lambda = 0,
pen = "roughness",
method = c("DP", "DPo", "SIMUL", "RBFGS"),
f1o = 0,
f2o = 0,
nbhd_dim = 7
)
A numeric vector of size n_points
storing discrete evaluations of
the estimated boundary-preserving warping diffeomorphism on the initial
grid.
A numeric matrix of shape n_points x n_dimensions
specifying the
SRSF of the 1st n_dimensions
-dimensional function evaluated on a grid of
size n_points
of its univariate domain.
A numeric vector of size n_points
specifying the grid on which
the 1st SRSF is evaluated.
A numeric matrix of shape n_points x n_dimensions
specifying the
SRSF of the 2nd n_dimensions
-dimensional function evaluated on a grid of
size n_points
of its univariate domain.
A numeric vector of size n_points
specifying the grid on which
the 1st SRSF is evaluated.
A numeric value specifying the amount of warping. Defaults to
0.0
.
alignment penalty (default="roughness") options are second derivative ("roughness"), geodesic distance from id ("geodesic"), and norm from id ("l2gam"), srvf norm from id ("l2psi")
A string specifying the optimization method. Choices are
"DP"
, "DPo"
, "SIMUL"
, or "RBFGS"
. Defaults to "DP"
.
A numeric vector of size n_dimensions
specifying the value of
the 1st function at \(t = t_{\min}\). Defaults to rep(0, n_dimensions)
.
A numeric vector of size n_dimensions
specifying the value of
the 2nd function at \(t = t_{\min}\). Defaults to rep(0, n_dimensions)
.
size of the grid (default = 7)
Srivastava, A., Wu, W., Kurtek, S., Klassen, E., Marron, J. S., May 2011. Registration of functional data using Fisher-Rao metric, arXiv:1103.3817v2.
Tucker, J. D., Wu, W., Srivastava, A., Generative models for functional data using phase and amplitude separation, Computational Statistics and Data Analysis (2012), 10.1016/j.csda.2012.12.001.
q <- f_to_srvf(simu_data$f, simu_data$time)
gam <- optimum.reparam(q[, 1], simu_data$time, q[, 2], simu_data$time)
Run the code above in your browser using DataLab