00001 #ifndef MARSYAS_DTW_H
00002 #define MARSYAS_DTW_H
00003
00004 #include "MarSystem.h"
00005
00006 namespace Marsyas
00007 {
00061 class DTW: public MarSystem
00062 {
00063 private:
00064 mrs_real totalDis_;
00065 realvec sizes_;
00066 realvec costMatrix_;
00067 realvec matrixPos_;
00068 realvec alignment_;
00069 realvec beginPos_;
00070 realvec endPos_;
00071
00072 MarControlPtr ctrl_mode_;
00073 MarControlPtr ctrl_localPath_;
00074 MarControlPtr ctrl_startPos_;
00075 MarControlPtr ctrl_lastPos_;
00076 MarControlPtr ctrl_totalDis_;
00077 MarControlPtr ctrl_sizes_;
00078 MarControlPtr ctrl_weight_;
00079
00080 void addControls();
00081 void myUpdate(MarControlPtr sender);
00082
00083 public:
00084 DTW(std::string name);
00085 DTW(const DTW& a);
00086 ~DTW();
00087
00088 MarSystem* clone() const;
00089
00090 void myProcess(realvec& in, realvec& out);
00091 };
00092 }
00093
00094 #endif