Ejemplo n.º 1
0
 def correctData(fileToCorrect, OS, rot):
     
     offset = np.array([-4,-1, 0])
     rawdat, header = BiteplateUtils.loadTsv(fileToCorrect)
     
     numSensors = int(np.floor(rawdat.shape[1]/9))
     swapDat= rawdat.copy()
     for j in range(1,numSensors-1):
         #Position values swapped
         swapDat[:,5+9*j] = rawdat[:,6+9*j]
         swapDat[:,6+9*j] = rawdat[:,5+9*j]
         swapDat[:,7+9*j] = -rawdat[:,7+9*j]
          
         #Quaternion values swapped
         swapDat[:,9+9*j] = rawdat[:,10+9*j]
         swapDat[:,10+9*j] = rawdat[:,9+9*j]
         swapDat[:,12+9*j] = -rawdat[:,11+9*j]
         
     BPCorrect = swapDat
         
     for j in range(1,numSensors-1): 
         BPCorrect[:,5+9*j:8+9*j] = q.qvqc(rot,(swapDat[:,5+9*j:8+9*j]-OS))-offset
         BPCorrect[:,8+9*j:12+9*j] = q.correctQuat(swapDat[:,8+9*j:12*9+j], rot)
         BPCorrect[:,3+9*j] = j
     
     return BPCorrect, header
Ejemplo n.º 2
0
 def correctData(fileToCorrect, OS, rot, resamp, freq):
     
     offset = np.array([-4,-1, 0])
     rawdat, header = BiteplateUtils.loadTsv(fileToCorrect)
     
     numSensors = int(np.floor((rawdat.shape[1]-3)/9))
     swapDat = rawdat.copy()
     BPCorrect = swapDat
         
     for j in range(1,numSensors): 
         BPCorrect[:,5+9*j:8+9*j] = q.qvqc(rot,(swapDat[:,5+9*j:8+9*j]-OS))-offset
         BPCorrect[:,8+9*j:12+9*j] = q.correctQuat(swapDat[:,8+9*j:12+9*j], rot)
         BPCorrect[:,3+9*j] = j
     
     if resamp:
         BPCorrect = BiteplateUtils.resample(BPCorrect, freq)
     
     return BPCorrect, header