def getData(self): mu_x_all, mu_y_all, X, Y = self._getMus() timeIdx = self._timeData >= self.tStart nRows, nCols = self.sp.shape distances = [[[None for trialIdx in xrange(self.NTrials)] for c in xrange(nCols)] for r in xrange(nRows)] for r in xrange(nRows): for c in xrange(nCols): #if r == 13 and c == 20: # import pdb; pdb.set_trace() for trialIdx in xrange(self.NTrials): try: mu_x = mu_x_all[r][c][trialIdx] mu_y = mu_y_all[r][c][trialIdx] except KeyError: import pdb pdb.set_trace() if isinstance(mu_x, np.ndarray) and isinstance( mu_y, np.ndarray): mu_x = mu_x[timeIdx] mu_y = mu_y[timeIdx] startPos = Position2D(mu_x[0], mu_y[0]) positions = Position2D(mu_x, mu_y) torusSize = Position2D(34, 30) distances[r][c][trialIdx] = image.remapTwistedTorus(\ startPos, positions, torusSize) return distances, X, Y
def getData(self): diffIdx = np.nonzero(self.getTimes() >= self.diffTime)[0] if len(diffIdx) == 0: msg = 'Cannot find appropriate index in the bump position data. '+\ 'Check your difference time: {0}' raise IndexError(msg.format(self.diffTime)) #diffIdx = diffIdx[-1] mu_x_all, mu_y_all, X, Y = self._getMus() nRows, nCols = self.sp.shape diffs = np.ma.MaskedArray(np.ndarray(self.sp.shape), mask=True) for r in xrange(nRows): for c in xrange(nCols): trialDiffs = [] for trialIdx in xrange(self.NTrials): mu_x = mu_x_all[r][c][trialIdx] mu_y = mu_y_all[r][c][trialIdx] if isinstance(mu_x, np.ndarray) and isinstance(mu_y, np.ndarray): pos_x = mu_x[diffIdx] pos_y = mu_y[diffIdx] diffAtTLogger.warn('Nx, Ny are fixed in the code. Make ' + \ "sure the torus size is the same as specified here.") torusSize = Position2D(34, 30) d = image.remapTwistedTorus(\ Position2D(self.startPos[0], self.startPos[1]), Position2D(np.array([pos_x]), np.array([pos_y])), torusSize) trialDiffs.append(d[0]) if len(trialDiffs) > 0: diffs[r, c] = np.mean(trialDiffs) return diffs, X, Y
def getData(self): diffIdx = np.nonzero(self.getTimes() >= self.diffTime)[0] if len(diffIdx) == 0: msg = 'Cannot find appropriate index in the bump position data. '+\ 'Check your difference time: {0}' raise IndexError(msg.format(self.diffTime)) #diffIdx = diffIdx[-1] mu_x_all, mu_y_all, X, Y = self._getMus() nRows, nCols = self.sp.shape diffs = np.ma.MaskedArray(np.ndarray(self.sp.shape), mask=True) for r in xrange(nRows): for c in xrange(nCols): trialDiffs = [] for trialIdx in xrange(self.NTrials): mu_x = mu_x_all[r][c][trialIdx] mu_y = mu_y_all[r][c][trialIdx] if isinstance(mu_x, np.ndarray) and isinstance( mu_y, np.ndarray): pos_x = mu_x[diffIdx] pos_y = mu_y[diffIdx] diffAtTLogger.warn('Nx, Ny are fixed in the code. Make ' + \ "sure the torus size is the same as specified here.") torusSize = Position2D(34, 30) d = image.remapTwistedTorus(\ Position2D(self.startPos[0], self.startPos[1]), Position2D(np.array([pos_x]), np.array([pos_y])), torusSize) trialDiffs.append(d[0]) if len(trialDiffs) > 0: diffs[r, c] = np.mean(trialDiffs) return diffs, X, Y
def getData(self): mu_x_all, mu_y_all, X, Y = self._getMus() timeIdx = self._timeData >= self.tStart nRows, nCols = self.sp.shape distances = [[[None for trialIdx in xrange(self.NTrials)] for c in xrange(nCols)] for r in xrange(nRows)] for r in xrange(nRows): for c in xrange(nCols): #if r == 13 and c == 20: # import pdb; pdb.set_trace() for trialIdx in xrange(self.NTrials): try: mu_x = mu_x_all[r][c][trialIdx] mu_y = mu_y_all[r][c][trialIdx] except KeyError: import pdb; pdb.set_trace() if isinstance(mu_x, np.ndarray) and isinstance(mu_y, np.ndarray): mu_x = mu_x[timeIdx] mu_y = mu_y[timeIdx] startPos = Position2D(mu_x[0], mu_y[0]) positions = Position2D(mu_x, mu_y) torusSize = Position2D(34, 30) distances[r][c][trialIdx] = image.remapTwistedTorus(\ startPos, positions, torusSize) return distances, X, Y