Beispiel #1
0
def goDTW1(n1,n2,f0,dt,rmsNoise,maxStrain,g,f):
  vrmin  = 0.001# minimum velocity ratio v*/v (>=0.5) 
  vrmax  = 2.00 # maximum velocity ratio v*/v (<infinity)
  dvrmin = 0.001# minimum change of velocity (>=0.0)
  dvrmax = 2.00 # maximum change of velocity (<=2.0)
  dvr    = 0.50 # percent velocity change
  
  fr,ds,kmin,kmax,jmin,jmax = paramDTW(vrmin,vrmax,dvrmin,dvrmax,dvr) 
  
  nl = 1+fr*(n2-n1)
  dst = dt/fr
  sf = Sampling(n1,dt,0.0)
  sg = Sampling(n2,dt,0.0) #guess g0
  sl = Sampling(nl,dst,0.0)
  
  #jmin,jmax = 0,0
  #kmin,kmax = 0,0
  sw = Stopwatch()
  dw = DynamicWarpingWT(nl,fr,kmin,kmax,jmin,jmax)
  sw.start()
  e = dw.computeErrors(f,g)
  d = dw.accumulate(e)
  u = dw.findShifts(d)
  #u = dw.findShiftsFast(f,g)
  sw.stop()
  print 'dtw done at '+str(sw.time())+' seconds'
  h = dw.applyShifts(u,f)
  u = mul(u,dt)
  sh = Sampling(len(h),dt,u[0])