RapidLib  v2.1.0
A simple library for interactive machine learning
dtw.h
Go to the documentation of this file.
1 
10 #ifndef dtw_h
11 #define dtw_h
12 
13 #include <vector>
14 #include "warpPath.h"
15 #include "searchWindow.h"
16 
17 template<typename T>
18 class dtw {
19 public:
20  dtw();
21  ~dtw();
22 
23  /* Calculates and returns a simple cost value between two input series */
24  T getCost(const std::vector<std::vector<T>> &seriesX, const std::vector<std::vector<T > > &seriesY);
25 
26  /* Calculates both cost and the warp path */
27  warpInfo dynamicTimeWarp(const std::vector<std::vector<T> > &seriesX, const std::vector<std::vector<T> > &seriesY); //This returns everything, including a path
28 
29  /* Calculates both the cost and the warp path, with a given window as a constraint */
30  warpInfo constrainedDTW(const std::vector<std::vector<T> > &seriesX, const std::vector<std::vector<T> > &seriesY, searchWindow<T> window); //This takes a window object
31 
32 private:
33  inline T distanceFunction(const std::vector<T> &pointX, const std::vector<T> &point);
34  std::vector<std::vector<T> > costMatrix;
35  warpPath calculatePath(int seriesXsize, int seriesYsize);
36 };
37 
38 #endif /* dtw_h */
~dtw()
Definition: dtw.cpp:19
Definition: warpPath.h:15
Definition: searchWindow.h:19
T getCost(const std::vector< std::vector< T >> &seriesX, const std::vector< std::vector< T > > &seriesY)
Definition: dtw.cpp:34
warpInfo constrainedDTW(const std::vector< std::vector< T > > &seriesX, const std::vector< std::vector< T > > &seriesY, searchWindow< T > window)
Definition: dtw.cpp:116
Definition: dtw.h:18
Definition: warpPath.h:29
dtw()
Definition: dtw.cpp:16
warpInfo dynamicTimeWarp(const std::vector< std::vector< T > > &seriesX, const std::vector< std::vector< T > > &seriesY)
Definition: dtw.cpp:106