Пример #1
0
    def test_multidimensional(self):

        assert_equal(
            segment_axis(np.ones((2, 3, 4, 5, 6)), axis=3, length=3,
                         overlap=1).shape, (2, 3, 4, 2, 3, 6))

        assert_equal(
            segment_axis(np.ones((2, 5, 4, 3, 6)).swapaxes(1, 3),
                         axis=3,
                         length=3,
                         overlap=1).shape, (2, 3, 4, 2, 3, 6))

        assert_equal(
            segment_axis(np.ones((2, 3, 4, 5, 6)),
                         axis=2,
                         length=3,
                         overlap=1,
                         end='cut').shape, (2, 3, 1, 3, 5, 6))

        assert_equal(
            segment_axis(np.ones((2, 3, 4, 5, 6)),
                         axis=2,
                         length=3,
                         overlap=1,
                         end='wrap').shape, (2, 3, 2, 3, 5, 6))

        assert_equal(
            segment_axis(np.ones((2, 3, 4, 5, 6)),
                         axis=2,
                         length=3,
                         overlap=1,
                         end='pad').shape, (2, 3, 2, 3, 5, 6))
Пример #2
0
 def test_ending(self):
     assert_equal(segment_axis(np.arange(6),length=3,overlap=1,end='cut'),
                      np.array([[0,1,2],[2,3,4]]))
     assert_equal(segment_axis(np.arange(6),length=3,overlap=1,end='wrap'),
                      np.array([[0,1,2],[2,3,4],[4,5,0]]))
     assert_equal(segment_axis(np.arange(6),length=3,overlap=1,end='pad',endvalue=-17),
                      np.array([[0,1,2],[2,3,4],[4,5,-17]]))
Пример #3
0
 def test_error_checking(self):
     self.assertRaises(ValueError,
             lambda: segment_axis(np.arange(7),length=3,overlap=-1))
     self.assertRaises(ValueError,
             lambda: segment_axis(np.arange(7),length=0,overlap=0))
     self.assertRaises(ValueError,
             lambda: segment_axis(np.arange(7),length=3,overlap=3))
     self.assertRaises(ValueError,
             lambda: segment_axis(np.arange(7),length=8,overlap=3))
Пример #4
0
    def test_simple(self):
        assert_equal(segment_axis(np.arange(6),length=3,overlap=0),
                         np.array([[0,1,2],[3,4,5]]))

        assert_equal(segment_axis(np.arange(7),length=3,overlap=1),
                         np.array([[0,1,2],[2,3,4],[4,5,6]]))

        assert_equal(segment_axis(np.arange(7),length=3,overlap=2),
                         np.array([[0,1,2],[1,2,3],[2,3,4],[3,4,5],[4,5,6]]))
Пример #5
0
    def test_simple(self):
        assert_equal(segment_axis(np.arange(6), length=3, overlap=0),
                     np.array([[0, 1, 2], [3, 4, 5]]))

        assert_equal(segment_axis(np.arange(7), length=3, overlap=1),
                     np.array([[0, 1, 2], [2, 3, 4], [4, 5, 6]]))

        assert_equal(
            segment_axis(np.arange(7), length=3, overlap=2),
            np.array([[0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]]))
Пример #6
0
 def test_error_checking(self):
     self.assertRaises(
         ValueError,
         lambda: segment_axis(np.arange(7), length=3, overlap=-1))
     self.assertRaises(
         ValueError,
         lambda: segment_axis(np.arange(7), length=0, overlap=0))
     self.assertRaises(
         ValueError,
         lambda: segment_axis(np.arange(7), length=3, overlap=3))
     self.assertRaises(
         ValueError,
         lambda: segment_axis(np.arange(7), length=8, overlap=3))
Пример #7
0
 def test_ending(self):
     assert_equal(
         segment_axis(np.arange(6), length=3, overlap=1, end='cut'),
         np.array([[0, 1, 2], [2, 3, 4]]))
     assert_equal(
         segment_axis(np.arange(6), length=3, overlap=1, end='wrap'),
         np.array([[0, 1, 2], [2, 3, 4], [4, 5, 0]]))
     assert_equal(
         segment_axis(np.arange(6),
                      length=3,
                      overlap=1,
                      end='pad',
                      endvalue=-17),
         np.array([[0, 1, 2], [2, 3, 4], [4, 5, -17]]))
Пример #8
0
    def test_multidimensional(self):
        
        assert_equal(segment_axis(np.ones((2,3,4,5,6)), axis=3, length=3, 
                                  overlap=1).shape, (2,3,4,2,3,6))

        assert_equal(segment_axis(np.ones((2,5,4,3,6)).swapaxes(1,3), 
                                  axis=3, length=3, overlap=1).shape,
                     (2,3,4,2,3,6))

        assert_equal(segment_axis(np.ones((2,3,4,5,6)), axis=2, length=3,
            overlap=1, end='cut').shape,
                     (2,3,1,3,5,6))

        assert_equal(segment_axis( 
                np.ones((2,3,4,5,6)), axis=2, length=3, overlap=1, end='wrap').shape,
                     (2,3,2,3,5,6))

        assert_equal(segment_axis(
                np.ones((2,3,4,5,6)), axis=2, length=3, overlap=1, end='pad').shape,
                     (2,3,2,3,5,6))
Пример #9
0
    def test1(self):
        x = np.linspace(0, 9, 10)

        y = segment_axis(x, 4)
        assert_array_almost_equal(y, np.array([[0, 1, 2, 3], [4, 5, 6, 7]]))

        y = segment_axis(x, 4, 2)
        assert_array_almost_equal(y, np.array([[0, 1, 2, 3], [2, 3, 4, 5], 
                                               [4, 5, 6, 7], [6, 7, 8, 9]]))

        y = segment_axis(x, 3, 2)
        assert_array_almost_equal(y, np.array([[0, 1, 2], [1, 2, 3], 
                                               [2, 3, 4], [3, 4, 5],
                                               [4, 5, 6], [5, 6, 7],
                                               [6, 7, 8], [7, 8, 9]]))

        y = segment_axis(x, 4, 3)
        assert_array_almost_equal(y, np.array([[0, 1, 2, 3], [1, 2, 3, 4], 
                                               [2, 3, 4, 5], [3, 4, 5, 6],
                                               [4, 5, 6, 7], [5, 6, 7, 8],
                                               [6, 7, 8, 9]]))
Пример #10
0
    def test1(self):
        x = np.linspace(0, 9, 10)

        y = segment_axis(x, 4)
        assert_array_almost_equal(y, np.array([[0, 1, 2, 3], [4, 5, 6, 7]]))

        y = segment_axis(x, 4, 2)
        assert_array_almost_equal(
            y,
            np.array([[0, 1, 2, 3], [2, 3, 4, 5], [4, 5, 6, 7], [6, 7, 8, 9]]))

        y = segment_axis(x, 3, 2)
        assert_array_almost_equal(
            y,
            np.array([[0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6],
                      [5, 6, 7], [6, 7, 8], [7, 8, 9]]))

        y = segment_axis(x, 4, 3)
        assert_array_almost_equal(
            y,
            np.array([[0, 1, 2, 3], [1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6],
                      [4, 5, 6, 7], [5, 6, 7, 8], [6, 7, 8, 9]]))