/cdtw

Dynamic Time Warping in C and Python

Primary LanguageJupyter Notebook

##Dynamic Time Warping Project

Installation

pip install cdtw

Examples

This module implements:

Distance functions:

  • manhattan
  • euclidean
  • squared euclidean

Local constraints(step patterns, step functions):

import numpy as np
from cdtw import pydtw
r = np.array([1,2,3,4])
q = np.array([2,3,4,5])
d = pydtw.dtw(r,q,pydtw.Settings(step = 'p0sym',     #Sakoe-Chiba symmetric step with slope constraint p = 0
                                window = 'palival', #type of the window
                                param = 2.0,        #window parameter
                                norm = False,       #normalization
                                compute_path = True))

d.get_dist()
#2.0
d.get_cost()
#array([[  1.,   3.,   6.,  inf],
#       [  1.,   2.,   4.,   7.],
#       [  2.,   1.,   2.,   4.],
#       [ inf,   2.,   1.,   2.]])
d.get_path()
#[(0, 0), (1, 0), (2, 1), (3, 2), (3, 3)]