Пример #1
0
import numpy as np
import pylab as pl

from ptsa.data import ArrayWrapper, Events
from ptsa.wavelet import phase_pow_multi

# some general info
nchan = 2
samplerate = 200
nsamples = samplerate * 100
event_dur = samplerate * 1
buf_dur = 1.0

# generate fake data
dat = np.random.rand(nchan, nsamples)
aw = ArrayWrapper(dat, samplerate)

# generate fake events
eoffset = np.arange(event_dur * 2, nsamples - (2 * event_dur), event_dur)
esrc = [aw] * len(eoffset)
nrec = len(eoffset) / 2
recalled = [True] * nrec + [False] * (len(eoffset) - nrec)
events = Events(
    np.rec.fromarrays([esrc, eoffset, recalled],
                      names='esrc,eoffset,recalled'))

# load in data with events (filter at the same time)
rdat = events[events.recalled == True].get_data(
    0,  # channel
    1.0,  # duration in sec
    0.0,  # offset in sec
Пример #2
0
 def setUp(self):
     self.dat = np.random.rand(10,1000)
     self.aw = ArrayWrapper(self.dat,200)
     self.eoffsets = [80,140,270]
Пример #3
0
class test_Events(TestCase):
    def setUp(self):
        self.dat = np.random.rand(10,1000)
        self.aw = ArrayWrapper(self.dat,200)
        self.eoffsets = [80,140,270]

    def test_new(self):
        tst = Setup()
        test = tst.test1xyz.view(Events)
        test = tst.test1xy.view(Events)
        test = tst.test1xz.view(Events)
        test = tst.test1yz.view(Events)
        test = tst.test1x.view(Events)
        test = tst.test1y.view(Events)
        test = tst.test1z.view(Events)

        test = tst.test2sox.view(Events)
        test = tst.test2so.view(Events)
        test = tst.test2sx.view(Events)
        test = tst.test2sox1.view(Events)
        test = tst.test2sox2.view(Events)
        test = tst.test2sox3.view(Events)
        test = tst.test2soxy.view(Events)
        test = tst.test2soxyz.view(Events)
        test = tst.test2soxz.view(Events)
        test = tst.test2soyz.view(Events)
        test = tst.test2soy.view(Events)
        test = tst.test2soz.view(Events)

    def test_remove_fields(self):
        tst = Setup()
        test_a = tst.test1xyz.view(Events).remove_fields('z')
        test_b = tst.test1xy.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('y')
        test_b = tst.test1xz.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('x')
        test_b = tst.test1yz.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields(
            'y').remove_fields('z')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('y','z')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('z','y')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields(
            'z').remove_fields('y')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields(
            'y').remove_fields('x')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('y','x')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('x','y')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields(
            'x').remove_fields('y')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields(
            'x').remove_fields('z')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('x','z')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('z','x')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events).remove_fields(
            'z').remove_fields('x')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xy.view(Events).remove_fields('y')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xy.view(Events).remove_fields('x')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xz.view(Events).remove_fields('z')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xz.view(Events).remove_fields('x')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1yz.view(Events).remove_fields('z')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1yz.view(Events).remove_fields('y')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a,test_b)

        test_a = tst.test2soxyz.view(Events).remove_fields('z')
        test_b = tst.test2soxy.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y')
        test_b = tst.test2soxz.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('x')
        test_b = tst.test2soyz.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y','z')
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z','y')
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields(
            'z').remove_fields('y')
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields(
            'y').remove_fields('z')
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('x','y','z')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('x','z','y')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y','x','z')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y','z','x')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z','y','x')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z','x','y')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields(
            'x').remove_fields('y').remove_fields('z')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields(
            'x').remove_fields('z').remove_fields('y')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields(
            'y').remove_fields('x').remove_fields('z')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields(
            'y').remove_fields('z').remove_fields('x')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields(
            'z').remove_fields('x').remove_fields('y')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields(
            'z').remove_fields('y').remove_fields('x')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a,test_b)

    def test_add_fields(self):
        tst = Setup()
        x = np.array([1.0,3.0])
        y = np.array([2,4])
        z = np.array(['bla1','bla2'])
        test_a = tst.test1xyz.view(Events)
        self.assertRaises(ValueError,tst.test1xyz.view(Events).add_fields,x=x)
        self.assertRaises(ValueError,tst.test1xyz.view(Events).add_fields,y=int)
        test_b = tst.test1xy.view(Events).add_fields(z=z)
        assert_array_equal(test_a,test_b)
        test_a = test_a.add_fields(a=int)
        test_b = test_b.add_fields(a=int)
        self.assertTrue(test_a.shape==test_b.shape)
        assert_array_equal(np.sort(test_a.dtype.names),
                           np.sort(test_b.dtype.names))
        for f,v in test_a.dtype.fields.iteritems():
            if f!='a':
                assert_array_equal(test_a[f],test_b[f])
            self.assertTrue(test_a.dtype[f]==test_b.dtype[f])
        test_a = tst.test1xyz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y).add_fields(z=z)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xyz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y,z=z)
        assert_array_equal(np.sort(test_a.dtype.names),
                           np.sort(test_b.dtype.names))
        for f,v in test_a.dtype.fields.iteritems():
            assert_array_equal(test_a[f],test_b[f])
            self.assertTrue(test_a.dtype[f]==test_b.dtype[f])
        for field in test_a.dtype.names:
            assert_array_equal(test_a[field],test_b[field])
        test_a = tst.test1xy.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1xz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(z=z)
        assert_array_equal(test_a,test_b)
        test_a = tst.test1yz.view(Events)
        test_b = tst.test1y.view(Events).add_fields(z=z)
        assert_array_equal(test_a,test_b)

        x = np.array([[42.,33.],[22.,11.]])
        y = np.array([[1,2],[3,4]])
        z = np.array([['z1','z2'],['z3','z4']])
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2soxy.view(Events).add_fields(z=z)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2sox.view(Events).add_fields(y=y,z=z)
        assert_array_equal(np.sort(test_a.dtype.names),
                           np.sort(test_b.dtype.names))
        for f,v in test_a.dtype.fields.iteritems():
            assert_array_equal(test_a[f],test_b[f])
            self.assertTrue(test_a.dtype[f]==test_b.dtype[f])
        for field in test_a.dtype.names:
            assert_array_equal(test_a[field],test_b[field])
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2sox.view(Events).add_fields(y=y).add_fields(z=z)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2so.view(Events).add_fields(x=x).add_fields(
            y=y).add_fields(z=z)
        assert_array_equal(test_a,test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2so.view(Events).add_fields(x=x,y=y,z=z)
        assert_array_equal(np.sort(test_a.dtype.names),
                           np.sort(test_b.dtype.names))
        for f,v in test_a.dtype.fields.iteritems():
            assert_array_equal(test_a[f],test_b[f])
            self.assertTrue(test_a.dtype[f]==test_b.dtype[f])

        
    def test_get_data(self):
        # get data directly from the wrapper
        # ed = self.aw.get_event_data(3,self.eoffsets,.5,-.1,.25)
        # ed = self.aw.get_event_data(3,self.eoffsets,.15,.375,.25)
        ed = self.aw.get_event_data(3,self.eoffsets,1.25,1.75,.25)
        
        # create same array by hand:
        # ed2 = np.array([[self.dat[3,60:161],self.dat[3,120:221],
        #                 self.dat[3,250:351]]])
        ed2 = np.array([[self.dat[3,330:431],self.dat[3,390:491],
                        self.dat[3,520:621]]])
        assert_array_equal(ed,ed2)
        # get data from a events
        # make some events
        events = np.rec.fromarrays(([self.aw]*len(self.eoffsets),self.eoffsets),
                                   names='esrc,eoffset').view(Events)
        # ed3 = events.get_data(3,.5,-.1,.25)
        ed3 = events.get_data(3,1.25,1.75,.25)

        # assert_array_almost_equal(ed[:],ed3[:],decimal=6)
        assert_array_equal(ed,ed3)

        # get data directly from the wrapper
        # ed = self.aw.get_event_data(3,self.eoffsets,.5,.1,.25)
        ed = self.aw.get_event_data(3,self.eoffsets,1.25,1.75,.25)

        # create same array by hand:
        # ed2 = np.array([self.dat[3,100:201],self.dat[3,160:261],
        #                 self.dat[3,290:391]])
        assert_array_equal(ed,ed2)
        # get data from a events
        # make some events
        events = np.rec.fromarrays(([self.aw]*len(self.eoffsets),self.eoffsets),
                                   names='esrc,eoffset').view(Events)
        # ed3 = events.get_data(3,.5,.1,.25)
        ed3 = events.get_data(3,1.25,1.75,.25)

        # assert_array_almost_equal(ed[:],ed3[:],decimal=6)
        assert_array_equal(ed,ed3)
Пример #4
0
class test_Events(TestCase):
    def setUp(self):
        self.dat = np.random.rand(10, 1000)
        self.aw = ArrayWrapper(self.dat, 200)
        self.eoffsets = [80, 140, 270]

    def test_new(self):
        tst = Setup()
        test = tst.test1xyz.view(Events)
        test = tst.test1xy.view(Events)
        test = tst.test1xz.view(Events)
        test = tst.test1yz.view(Events)
        test = tst.test1x.view(Events)
        test = tst.test1y.view(Events)
        test = tst.test1z.view(Events)

        test = tst.test2sox.view(Events)
        test = tst.test2so.view(Events)
        test = tst.test2sx.view(Events)
        test = tst.test2sox1.view(Events)
        test = tst.test2sox2.view(Events)
        test = tst.test2sox3.view(Events)
        test = tst.test2soxy.view(Events)
        test = tst.test2soxyz.view(Events)
        test = tst.test2soxz.view(Events)
        test = tst.test2soyz.view(Events)
        test = tst.test2soy.view(Events)
        test = tst.test2soz.view(Events)

    def test_remove_fields(self):
        tst = Setup()
        test_a = tst.test1xyz.view(Events).remove_fields("z")
        test_b = tst.test1xy.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("y")
        test_b = tst.test1xz.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("x")
        test_b = tst.test1yz.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("y").remove_fields("z")
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("y", "z")
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("z", "y")
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("z").remove_fields("y")
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("y").remove_fields("x")
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("y", "x")
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("x", "y")
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("x").remove_fields("y")
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("x").remove_fields("z")
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("x", "z")
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("z", "x")
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields("z").remove_fields("x")
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xy.view(Events).remove_fields("y")
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xy.view(Events).remove_fields("x")
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xz.view(Events).remove_fields("z")
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xz.view(Events).remove_fields("x")
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1yz.view(Events).remove_fields("z")
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1yz.view(Events).remove_fields("y")
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)

        test_a = tst.test2soxyz.view(Events).remove_fields("z")
        test_b = tst.test2soxy.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("y")
        test_b = tst.test2soxz.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("x")
        test_b = tst.test2soyz.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("y", "z")
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("z", "y")
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("z").remove_fields("y")
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("y").remove_fields("z")
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("x", "y", "z")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("x", "z", "y")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("y", "x", "z")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("y", "z", "x")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("z", "y", "x")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("z", "x", "y")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("x").remove_fields("y").remove_fields("z")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("x").remove_fields("z").remove_fields("y")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("y").remove_fields("x").remove_fields("z")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("y").remove_fields("z").remove_fields("x")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("z").remove_fields("x").remove_fields("y")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields("z").remove_fields("y").remove_fields("x")
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)

    def test_add_fields(self):
        tst = Setup()
        x = np.array([1.0, 3.0])
        y = np.array([2, 4])
        z = np.array(["bla1", "bla2"])
        test_a = tst.test1xyz.view(Events)
        self.assertRaises(ValueError, tst.test1xyz.view(Events).add_fields, x=x)
        self.assertRaises(ValueError, tst.test1xyz.view(Events).add_fields, y=int)
        test_b = tst.test1xy.view(Events).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = test_a.add_fields(a=int)
        test_b = test_b.add_fields(a=int)
        self.assertTrue(test_a.shape == test_b.shape)
        assert_array_equal(np.sort(test_a.dtype.names), np.sort(test_b.dtype.names))
        for f, v in test_a.dtype.fields.iteritems():
            if f != "a":
                assert_array_equal(test_a[f], test_b[f])
            self.assertTrue(test_a.dtype[f] == test_b.dtype[f])
        test_a = tst.test1xyz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y, z=z)
        assert_array_equal(np.sort(test_a.dtype.names), np.sort(test_b.dtype.names))
        for f, v in test_a.dtype.fields.iteritems():
            assert_array_equal(test_a[f], test_b[f])
            self.assertTrue(test_a.dtype[f] == test_b.dtype[f])
        for field in test_a.dtype.names:
            assert_array_equal(test_a[field], test_b[field])
        test_a = tst.test1xy.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1yz.view(Events)
        test_b = tst.test1y.view(Events).add_fields(z=z)
        assert_array_equal(test_a, test_b)

        x = np.array([[42.0, 33.0], [22.0, 11.0]])
        y = np.array([[1, 2], [3, 4]])
        z = np.array([["z1", "z2"], ["z3", "z4"]])
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2soxy.view(Events).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2sox.view(Events).add_fields(y=y, z=z)
        assert_array_equal(np.sort(test_a.dtype.names), np.sort(test_b.dtype.names))
        for f, v in test_a.dtype.fields.iteritems():
            assert_array_equal(test_a[f], test_b[f])
            self.assertTrue(test_a.dtype[f] == test_b.dtype[f])
        for field in test_a.dtype.names:
            assert_array_equal(test_a[field], test_b[field])
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2sox.view(Events).add_fields(y=y).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2so.view(Events).add_fields(x=x).add_fields(y=y).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2so.view(Events).add_fields(x=x, y=y, z=z)
        assert_array_equal(np.sort(test_a.dtype.names), np.sort(test_b.dtype.names))
        for f, v in test_a.dtype.fields.iteritems():
            assert_array_equal(test_a[f], test_b[f])
            self.assertTrue(test_a.dtype[f] == test_b.dtype[f])

    def test_get_data(self):
        # get data directly from the wrapper
        ed = self.aw.get_event_data(3, self.eoffsets, 0.5, -0.1, 0.25)

        # create same array by hand:
        ed2 = np.array([self.dat[3, 60:161], self.dat[3, 120:221], self.dat[3, 250:351]])
        assert_array_equal(ed, ed2)
        # get data from a events
        # make some events
        events = np.rec.fromarrays(([self.aw] * len(self.eoffsets), self.eoffsets), names="esrc,eoffset").view(Events)
        ed3 = events.get_data(3, 0.5, -0.1, 0.25)

        assert_array_almost_equal(ed[:], ed3[:], decimal=6)

        # get data directly from the wrapper
        ed = self.aw.get_event_data(3, self.eoffsets, 0.5, 0.1, 0.25)

        # create same array by hand:
        ed2 = np.array([self.dat[3, 100:201], self.dat[3, 160:261], self.dat[3, 290:391]])
        assert_array_equal(ed, ed2)
        # get data from a events
        # make some events
        events = np.rec.fromarrays(([self.aw] * len(self.eoffsets), self.eoffsets), names="esrc,eoffset").view(Events)
        ed3 = events.get_data(3, 0.5, 0.1, 0.25)

        assert_array_almost_equal(ed[:], ed3[:], decimal=6)
Пример #5
0
 def setUp(self):
     self.dat = np.random.rand(10, 1000)
     self.aw = ArrayWrapper(self.dat, 200)
     self.eoffsets = [80, 140, 270]
Пример #6
0
class test_Events(TestCase):
    def setUp(self):
        self.dat = np.random.rand(10, 1000)
        self.aw = ArrayWrapper(self.dat, 200)
        self.eoffsets = [80, 140, 270]

    def test_new(self):
        tst = Setup()
        test = tst.test1xyz.view(Events)
        test = tst.test1xy.view(Events)
        test = tst.test1xz.view(Events)
        test = tst.test1yz.view(Events)
        test = tst.test1x.view(Events)
        test = tst.test1y.view(Events)
        test = tst.test1z.view(Events)

        test = tst.test2sox.view(Events)
        test = tst.test2so.view(Events)
        test = tst.test2sx.view(Events)
        test = tst.test2sox1.view(Events)
        test = tst.test2sox2.view(Events)
        test = tst.test2sox3.view(Events)
        test = tst.test2soxy.view(Events)
        test = tst.test2soxyz.view(Events)
        test = tst.test2soxz.view(Events)
        test = tst.test2soyz.view(Events)
        test = tst.test2soy.view(Events)
        test = tst.test2soz.view(Events)

    def test_remove_fields(self):
        tst = Setup()
        test_a = tst.test1xyz.view(Events).remove_fields('z')
        test_b = tst.test1xy.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('y')
        test_b = tst.test1xz.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('x')
        test_b = tst.test1yz.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('y').remove_fields(
            'z')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('y', 'z')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('z', 'y')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('z').remove_fields(
            'y')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('y').remove_fields(
            'x')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('y', 'x')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('x', 'y')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('x').remove_fields(
            'y')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('x').remove_fields(
            'z')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('x', 'z')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('z', 'x')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events).remove_fields('z').remove_fields(
            'x')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xy.view(Events).remove_fields('y')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xy.view(Events).remove_fields('x')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xz.view(Events).remove_fields('z')
        test_b = tst.test1x.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xz.view(Events).remove_fields('x')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1yz.view(Events).remove_fields('z')
        test_b = tst.test1y.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1yz.view(Events).remove_fields('y')
        test_b = tst.test1z.view(Events)
        assert_array_equal(test_a, test_b)

        test_a = tst.test2soxyz.view(Events).remove_fields('z')
        test_b = tst.test2soxy.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y')
        test_b = tst.test2soxz.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('x')
        test_b = tst.test2soyz.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y', 'z')
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z', 'y')
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z').remove_fields(
            'y')
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y').remove_fields(
            'z')
        test_b = tst.test2sox.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('x', 'y', 'z')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('x', 'z', 'y')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y', 'x', 'z')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y', 'z', 'x')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z', 'y', 'x')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z', 'x', 'y')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('x').remove_fields(
            'y').remove_fields('z')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('x').remove_fields(
            'z').remove_fields('y')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y').remove_fields(
            'x').remove_fields('z')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('y').remove_fields(
            'z').remove_fields('x')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z').remove_fields(
            'x').remove_fields('y')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events).remove_fields('z').remove_fields(
            'y').remove_fields('x')
        test_b = tst.test2so.view(Events)
        assert_array_equal(test_a, test_b)

    def test_add_fields(self):
        tst = Setup()
        x = np.array([1.0, 3.0])
        y = np.array([2, 4])
        z = np.array(['bla1', 'bla2'])
        test_a = tst.test1xyz.view(Events)
        self.assertRaises(ValueError,
                          tst.test1xyz.view(Events).add_fields,
                          x=x)
        self.assertRaises(ValueError,
                          tst.test1xyz.view(Events).add_fields,
                          y=int)
        test_b = tst.test1xy.view(Events).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = test_a.add_fields(a=int)
        test_b = test_b.add_fields(a=int)
        self.assertTrue(test_a.shape == test_b.shape)
        assert_array_equal(np.sort(test_a.dtype.names),
                           np.sort(test_b.dtype.names))
        for f, v in test_a.dtype.fields.items():
            if f != 'a':
                assert_array_equal(test_a[f], test_b[f])
            self.assertTrue(test_a.dtype[f] == test_b.dtype[f])
        test_a = tst.test1xyz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xyz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y, z=z)
        assert_array_equal(np.sort(test_a.dtype.names),
                           np.sort(test_b.dtype.names))
        for f, v in test_a.dtype.fields.items():
            assert_array_equal(test_a[f], test_b[f])
            self.assertTrue(test_a.dtype[f] == test_b.dtype[f])
        for field in test_a.dtype.names:
            assert_array_equal(test_a[field], test_b[field])
        test_a = tst.test1xy.view(Events)
        test_b = tst.test1x.view(Events).add_fields(y=y)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1xz.view(Events)
        test_b = tst.test1x.view(Events).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test1yz.view(Events)
        test_b = tst.test1y.view(Events).add_fields(z=z)
        assert_array_equal(test_a, test_b)

        x = np.array([[42., 33.], [22., 11.]])
        y = np.array([[1, 2], [3, 4]])
        z = np.array([['z1', 'z2'], ['z3', 'z4']])
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2soxy.view(Events).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2sox.view(Events).add_fields(y=y, z=z)
        assert_array_equal(np.sort(test_a.dtype.names),
                           np.sort(test_b.dtype.names))
        for f, v in test_a.dtype.fields.items():
            assert_array_equal(test_a[f], test_b[f])
            self.assertTrue(test_a.dtype[f] == test_b.dtype[f])
        for field in test_a.dtype.names:
            assert_array_equal(test_a[field], test_b[field])
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2sox.view(Events).add_fields(y=y).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2so.view(Events).add_fields(x=x).add_fields(
            y=y).add_fields(z=z)
        assert_array_equal(test_a, test_b)
        test_a = tst.test2soxyz.view(Events)
        test_b = tst.test2so.view(Events).add_fields(x=x, y=y, z=z)
        assert_array_equal(np.sort(test_a.dtype.names),
                           np.sort(test_b.dtype.names))
        for f, v in test_a.dtype.fields.items():
            assert_array_equal(test_a[f], test_b[f])
            self.assertTrue(test_a.dtype[f] == test_b.dtype[f])

    def test_get_data(self):
        # get data directly from the wrapper
        ed = self.aw.get_event_data(3, self.eoffsets, .5, -.1, .25)

        # create same array by hand:
        ed2 = np.array(
            [self.dat[3, 60:161], self.dat[3, 120:221], self.dat[3, 250:351]])
        assert_array_equal(ed, ed2)
        # get data from a events
        # make some events
        events = np.rec.fromarrays(
            ([self.aw] * len(self.eoffsets), self.eoffsets),
            names='esrc,eoffset').view(Events)
        ed3 = events.get_data(3, .5, -.1, .25)

        assert_array_almost_equal(ed[:], ed3[:], decimal=6)

        # get data directly from the wrapper
        ed = self.aw.get_event_data(3, self.eoffsets, .5, .1, .25)

        # create same array by hand:
        ed2 = np.array(
            [self.dat[3, 100:201], self.dat[3, 160:261], self.dat[3, 290:391]])
        assert_array_equal(ed, ed2)
        # get data from a events
        # make some events
        events = np.rec.fromarrays(
            ([self.aw] * len(self.eoffsets), self.eoffsets),
            names='esrc,eoffset').view(Events)
        ed3 = events.get_data(3, .5, .1, .25)

        assert_array_almost_equal(ed[:], ed3[:], decimal=6)