File: test_segmentaxis.py

package info (click to toggle)
python-scipy 0.6.0-12
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 32,016 kB
  • ctags: 46,675
  • sloc: cpp: 124,854; ansic: 110,614; python: 108,664; fortran: 76,260; objc: 424; makefile: 384; sh: 10
file content (64 lines) | stat: -rw-r--r-- 2,458 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#! /usr/bin/env python
# Last Change: Fri Dec 15 10:00 PM 2006 J

from numpy.testing import *

import numpy as N

set_package_path()
from cdavid.segmentaxis import segment_axis
restore_path()

# #Optional:
# set_local_path()
# # import modules that are located in the same directory as this file.
# restore_path()

class test_segment(NumpyTestCase):
    def check_simple(self):
        assert_equal(segment_axis(N.arange(6),length=3,overlap=0),
                         N.array([[0,1,2],[3,4,5]]))

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

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

    def check_error_checking(self):
        self.assertRaises(ValueError,
                lambda: segment_axis(N.arange(7),length=3,overlap=-1))
        self.assertRaises(ValueError,
                lambda: segment_axis(N.arange(7),length=0,overlap=0))
        self.assertRaises(ValueError,
                lambda: segment_axis(N.arange(7),length=3,overlap=3))
        self.assertRaises(ValueError,
                lambda: segment_axis(N.arange(7),length=8,overlap=3))

    def check_ending(self):
        assert_equal(segment_axis(N.arange(6),length=3,overlap=1,end='cut'),
                         N.array([[0,1,2],[2,3,4]]))
        assert_equal(segment_axis(N.arange(6),length=3,overlap=1,end='wrap'),
                         N.array([[0,1,2],[2,3,4],[4,5,0]]))
        assert_equal(segment_axis(N.arange(6),length=3,overlap=1,end='pad',endvalue=-17),
                         N.array([[0,1,2],[2,3,4],[4,5,-17]]))

    def check_multidimensional(self):
        
        assert_equal(segment_axis(N.ones((2,3,4,5,6)),axis=3,length=3,overlap=1).shape,
                     (2,3,4,2,3,6))

        assert_equal(segment_axis(N.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(N.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(N.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(N.ones((2,3,4,5,6)),axis=2,length=3,overlap=1,end='pad').shape,
                     (2,3,2,3,5,6))

if __name__=='__main__':
    NumpyTest().run()