Exemplo n.º 1
0
    def test_no_drift(self):
        N = 10
        expected = DataFrame({'x': np.zeros(N), 'y': np.zeros(N)}).iloc[1:]
        expected = expected.astype('float')
        expected.index.name = 'frame'
        expected.columns = ['x', 'y']
        # ^ no drift measured for Frame 0

        actual = mr.compute_drift(self.dead_still)
        assert_frame_equal(actual, expected)

        # Small random drift
        actual = mr.compute_drift(self.many_walks)
        assert_frame_equal(actual, expected)
Exemplo n.º 2
0
    def compute_drift(self, smoothing=0, query=None):
        if query is None:
            compute_drift = lambda chunk: mr.compute_drift(chunk, smoothing)
        else:
            compute_drift = lambda chunk: (
                mr.compute_drift(chunk.query(query), smoothing))

        chunks = self.get_data()
        drift = []
        last_value = 0
        drift_chunks = (compute_drift(chunk) for chunk in chunks)
        for chunk in drift_chunks:
            drift.append(chunk + last_value)
            if len(chunk) > 0:  # catch unusual case where chunk is empty
                last_value += chunk.iloc[-1]
        drift = pd.concat(drift)
        return drift
Exemplo n.º 3
0
    def compute_drift(self, smoothing=0, query=None):
        if query is None:
            compute_drift = lambda chunk: mr.compute_drift(chunk, smoothing)
        else:
            compute_drift = lambda chunk: (mr.compute_drift(
                chunk.query(query), smoothing))

        chunks = self.get_data()
        drift = []
        last_value = 0
        drift_chunks = (compute_drift(chunk) for chunk in chunks)
        for chunk in drift_chunks:
            drift.append(chunk + last_value)
            if len(chunk) > 0:  # catch unusual case where chunk is empty
                last_value += chunk.iloc[-1]
        drift = pd.concat(drift)
        return drift
Exemplo n.º 4
0
    def test_constant_drift(self):
        N = 10
        expected = DataFrame({'x': np.arange(N), 'y': np.zeros(N)}).iloc[1:]
        expected = expected.astype('float')
        expected.index.name = 'frame'
        expected.columns = ['x', 'y']

        actual = mr.compute_drift(self.steppers)
        assert_frame_equal(actual, expected)