Ejemplo n.º 1
0
    def scaleData(self):
        tempData = []

        for sample in self.rawData:
            newSample = Sample()
            newSample.time = sample.time
            newSample.position = (sample.position + self.scalingFactorA)
            newSample.position.x = newSample.position.x * self.scalingFactorB.x
            newSample.position.y = newSample.position.y * self.scalingFactorB.y
            newSample.position.z = newSample.position.z * self.scalingFactorB.z
            newSample.position = newSample.position - Vector(1, 1, 1)
            tempData.append(newSample)

        self.rawData = tempData
Ejemplo n.º 2
0
 def scaleData(self):
     tempData = []
     
     for sample in self.rawData:
         newSample = Sample()
         newSample.time = sample.time
         newSample.position = ( sample.position + self.scalingFactorA ) 
         newSample.position.x = newSample.position.x * self.scalingFactorB.x
         newSample.position.y = newSample.position.y * self.scalingFactorB.y
         newSample.position.z = newSample.position.z * self.scalingFactorB.z
         newSample.position = newSample.position - Vector(1,1,1)
         tempData.append(newSample)
     
     self.rawData = tempData        
Ejemplo n.º 3
0
 def executeAlgorithm(self):
     self.reconstructedSignal = []
     nextTimeToRecord = 0
     timeDiff = self.rawSignal[0].sample.time % self.samplingInterval
     if timeDiff == 0:
         self.reconstructedSignal.append( deepcopy(self.rawSignal[0].sample) )
         nextTimeToRecord = self.rawSignal[0].sample.time + \
                            self.samplingInterval
     else:
         change = self.samplingInterval - timeDiff
         newSample = Sample()
         newSample.time = self.rawSignal[0].sample.time + change
         newSample.position = deepcopy(self.rawSignal[0].sample.position)
         self.reconstructedSignal.append(newSample)
         nextTimeToRecord = newSample.time + self.samplingInterval
         
     for index, predictionSample in enumerate(self.rawSignal):
         if predictionSample.sample.time == nextTimeToRecord:
              self.reconstructedSignal.append( deepcopy(predictionSample.sample) )
              nextTimeToRecord = nextTimeToRecord + self.samplingInterval
         elif predictionSample.sample.time > nextTimeToRecord:
              while predictionSample.sample.time > nextTimeToRecord:
                  deltaTime = nextTimeToRecord - self.rawSignal[index-1].sample.time
                  deltaTimeVector = Vector(deltaTime, deltaTime, deltaTime)
                  deltaPosition = self.rawSignal[index-1].velocity * deltaTimeVector
                  newPosition = self.rawSignal[index-1].sample.position + deltaPosition
                  newSample = Sample(nextTimeToRecord, newPosition)
                  self.reconstructedSignal.append( newSample )
                  nextTimeToRecord = nextTimeToRecord + self.samplingInterval
                  
              if predictionSample.sample.time == nextTimeToRecord:    
                  self.reconstructedSignal.append( deepcopy(predictionSample.sample) )
                  nextTimeToRecord = nextTimeToRecord + self.samplingInterval
Ejemplo n.º 4
0
    def calculateEstSample(self, interpolationSample, currentTime):
        estimatedSample = Sample()
        estimatedSample.time = currentTime
        estimatedSample.position = self.calculateEstPosition(interpolationSample, currentTime)
        return estimatedSample

        
        
        
    def findFirstSample(self):
        timeDiff = self.rawSignal[0].sample.time % self.samplingInterval

        if timeDiff == 0:
            return deepcopy(self.rawSignal[0].sample)
        else:
            change = self.samplingInterval - timeDiff
            newSample = Sample()
            newSample.time = self.rawSignal[0].sample.time + change
            newSample.position = deepcopy(self.rawSignal[0].sample.position)
            return newSample
Ejemplo n.º 6
0
 def findFirstSample(self):
     timeDiff = self.rawSignal[0].sample.time % self.samplingInterval
     
     if timeDiff == 0:
         return deepcopy(self.rawSignal[0].sample)
     else:
         change = self.samplingInterval - timeDiff
         newSample = Sample()
         newSample.time = self.rawSignal[0].sample.time + change
         newSample.position = deepcopy(self.rawSignal[0].sample.position)
         return newSample
Ejemplo n.º 7
0
 def shiftData(self):
     tempData = []
     firstTime = self.rawData[0].time
     
     for sample in self.rawData:
         if sample.time >= firstTime:
             newSample = Sample()
             newSample.time = sample.time - firstTime + ( 10 * self.numberOfPaddingSamples) 
             newSample.position = copy( sample.position )
             tempData.append(newSample)
     
     self.rawData = tempData
Ejemplo n.º 8
0
    def shiftData(self):
        tempData = []
        firstTime = self.rawData[0].time

        for sample in self.rawData:
            if sample.time >= firstTime:
                newSample = Sample()
                newSample.time = sample.time - firstTime + (
                    10 * self.numberOfPaddingSamples)
                newSample.position = copy(sample.position)
                tempData.append(newSample)

        self.rawData = tempData
Ejemplo n.º 9
0
 def executeAlgorithm(self):
     self.reconstructedSignal = []
     nextTimeToRecord = 0
     timeDiff = self.rawSignal[0].sample.time % self.samplingInterval
     if timeDiff == 0:
         self.reconstructedSignal.append( deepcopy(self.rawSignal[0].sample) )
         nextTimeToRecord = self.rawSignal[0].sample.time + \
                            self.samplingInterval
     else:
         change = self.samplingInterval - timeDiff
         newSample = Sample()
         newSample.time = self.rawSignal[0].sample.time + change
         newSample.position = deepcopy(self.rawSignal[0].sample.position)
         self.reconstructedSignal.append(newSample)
         nextTimeToRecord = newSample.time + self.samplingInterval
         
     interpolationSample = PredictionSample()
     interpolationSample.sample = self.reconstructedSignal[0]
     interpolationSample.velocity = self.rawSignal[0].velocity
     for index, predictionSample in enumerate(self.rawSignal):
         if predictionSample.sample.time == nextTimeToRecord:
             estimatedSample = self.calculateEstSample(interpolationSample, \
                                                       nextTimeToRecord)
             self.reconstructedSignal.append(estimatedSample)
             targetSample = self.findTarget(predictionSample)
             interpolationSample = self.findInterpolationSample(estimatedSample, \
                                                                targetSample)
             nextTimeToRecord = nextTimeToRecord + self.samplingInterval
         elif predictionSample.sample.time > nextTimeToRecord:
             while predictionSample.sample.time > nextTimeToRecord:
                 estimatedSample = self.calculateEstSample(interpolationSample, \
                                                           nextTimeToRecord)
                 self.reconstructedSignal.append(estimatedSample)
                 nextTimeToRecord = nextTimeToRecord + self.samplingInterval
                 
             if predictionSample.sample.time == nextTimeToRecord:
                 estimatedSample = self.calculateEstSample(interpolationSample, \
                                                       nextTimeToRecord)
                 self.reconstructedSignal.append(estimatedSample)
                 targetSample = self.findTarget(predictionSample)
                 interpolationSample = self.findInterpolationSample(estimatedSample, \
                                                                    targetSample)
                 nextTimeToRecord = nextTimeToRecord + self.samplingInterval
             else:
                 targetSample = self.findTarget(predictionSample)
                 interpolationSample = self.findInterpolationSample(self.reconstructedSignal[-1], \
                                                                    targetSample)