Marsyas  0.5.0-beta1
/Users/jleben/code/marsyas/src/marsyas/marsystems/DTW.h
Go to the documentation of this file.
00001 #ifndef MARSYAS_DTW_H
00002 #define MARSYAS_DTW_H
00003 
00004 #include <marsyas/system/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