示例#1
0
    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
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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