Firstly, I'm not sure whether this is the correct site but I also assume the question is not too different:

Assume there are two curves: One is considered as a reference curve and the other is just an another or "measured" curve.


I want to transform the measured curve in such a way that it fits the reference curve. In other words: I want to calibrate.

I stumbled over Procrustes analysis and Fréchet distance which seem to be usable but nevertheless I wanted to ask you completely unbiased how to proceed. Are there commonly known methods or even implementations in common programming languages (C++, Octave, R,..)? Thanks in advance!

  • $\begingroup$ Procrustes doesn't seem like it would be a good fit for this problem because it only allows rigid transformations, reflection, and isotropic scaling. These operations wouldn't be sufficient to get the example curves to match. $\endgroup$
    – user20160
    Apr 2, 2018 at 4:17
  • $\begingroup$ The problem isn't clear to me. Are these curves continuous functions with known expressions, or finite sets of points that have been measured? Should they be treated as y values at a fixed set of x positions, or as parametric curves (x and y values at a fixed set of t positions)? Is the goal to warp one curve to match the other, to measure their similarity, or to match points on one curve to points on the other? $\endgroup$
    – user20160
    Apr 2, 2018 at 4:35

1 Answer 1


Since Procrustes analysis amounts to iteratively updating a mean (here, a mean curve), I think that is not the suitable in your situation. It is common to use the quadratic Wasserstein distance as a metric in such problems (the literature on this is indeed not so sizeable). The following paper discusses what you may want: https://hal.archives-ouvertes.fr/hal-00749519v2/document

  • $\begingroup$ Thanks a lot for the advice! I'll have a look on it but however: It seems to be a common problem or task to me so I wonder that there isn't something already implemented? But I'll check it out. $\endgroup$
    – Ben
    Dec 25, 2017 at 18:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.