CanonicalWarpingCorrespondence

CanonicalWarpingCorrespondence[s1,s2]

gives the canonical time warping (CTW) correspondence between sequences s1 and s2.

CanonicalWarpingCorrespondence[s1,s2,warp]

uses warp as initial warping correspondence.

CanonicalWarpingCorrespondence[s1,s2,warp,win]

uses a window win for local search.

Details and Options

  • Canonical time warping (CTW) iteratively performs spatial transformations and dynamic time warping on the reference sequence s1 and the query sequence s2 to find the alignment with minimal distance between sequences.
  • The sequences si can be lists of numeric scalars or vectors. In contrast to dynamic time warping, elements of s1 and s2 can be of different dimensions.
  • CanonicalWarpingCorrespondence returns {{n1,,nk},{m1,,mk}} of non-decreasing positions such that s1ni correspond to s2mi.
  • Corresponding positions attempt to minimize the distance over all possible such positions and with the constraint that all elements of s1 and s2 are represented as some s1ni and s2mj, respectively.
  • Spatial transformation matrices α and β are computed in each iteration using canonical correlation analysis.
  • Compute the effective distance using CanonicalWarpingDistance.
  • Possible settings for the search window win are:
  • Automatica full search
    ra slanted band window of radius
    {"SlantedBand",r}a slanted band window of radius
    {"Band",r}band window of radius (SakoeChiba)
    {"Parallelogram",a}parallelogram window placed at origin with slopes and (Itakura)
  • The following options are supported:
  • DistanceFunctionAutomaticdistance function used in dynamic time warping
    MaxIterationsAutomaticmaximal number of iterations
    MethodAutomaticadditional parameters
  • The following options are available through Method->opts:
  • "DimensionsToKeep"Automaticdimensions after projection
    "EnergyThreshold"Automaticfraction of "energy" to be kept
    "Lambdas"Automaticregularization values
    "MatchingIntervals"Automaticwhether to match the query to the full reference or part of the reference
  • Possible settings for the "MatchingIntervals" option include:
  • Automatica full match
    "Flexible"flexible at both ends
    "FlexibleEnd"flexible only at the end of the interval

Examples

open allclose all

Basic Examples  (2)

Find the canonical time warping correspondence between two scalar sequences:

Find the canonical time warping correspondence between a 3D path and a 2D line segment:

Scope  (9)

Data  (6)

Find the correspondence between two sequences of numerical scalars with different length:

Find the correspondence between two sequences of vectors:

Find the correspondence between a sequence of scalars and a sequence of 3D points:

Find the correspondence between two sequences of quantities with compatible units:

All units are converted to base SI units:

Find the correspondence between two sequences of quantity vectors with compatible units:

Find the correspondence between a sequence of quantities and a sequence of scalars:

The scalars are interpreted as if they had a compatible unit from SI base units:

Initial Warping  (1)

By default, the shorter sequence is first warped uniformly to match the length of the longer sequence:

Construct the initial uniform warping manually:

Search Window  (2)

By default, an unconstrained search is performed:

Use a "SlantedBand" search window:

Options  (1)

MaxIterations  (1)

By default, the maximal number of iterations is 50:

Decreasing the maximal number of iterations may reduce the timing:

Properties & Relations  (1)

Canonical time warping is robust to spatial transformations.

Translation invariance:

Scale invariance:

Rotation invariance:

Introduced in 2016
 (11.0)