Esempio n. 1
0
 def test_slice(self):
     """
     Tests the slicing of trace objects.
     """
     tr = Trace(data=np.arange(10, dtype='int32'))
     mempos = tr.data.ctypes.data
     t = tr.stats.starttime
     tr1 = tr.slice(t + 2, t + 8)
     tr1.data[0] = 10
     self.assertEqual(tr.data[2], 10)
     self.assertEqual(tr.data.ctypes.data, mempos)
     self.assertEqual(tr.data[2:9].ctypes.data, tr1.data.ctypes.data)
     self.assertEqual(tr1.data.ctypes.data - 8, mempos)
Esempio n. 2
0
 def test_slice(self):
     """
     Tests the slicing of trace objects.
     """
     tr = Trace(data=np.arange(10, dtype='int32'))
     mempos = tr.data.ctypes.data
     t = tr.stats.starttime
     tr1 = tr.slice(t + 2, t + 8)
     tr1.data[0] = 10
     self.assertEqual(tr.data[2], 10)
     self.assertEqual(tr.data.ctypes.data, mempos)
     self.assertEqual(tr.data[2:9].ctypes.data, tr1.data.ctypes.data)
     self.assertEqual(tr1.data.ctypes.data - 8, mempos)
Esempio n. 3
0
 def test_issue317(self):
     """
     Tests times after breaking a stream into parts and merging it again.
     """
     # create a sample trace
     org_trace = Trace(data=np.arange(22487))
     org_trace.stats.starttime = UTCDateTime()
     org_trace.stats.sampling_rate = 0.999998927116
     num_pakets = 10
     # break org_trace into set of contiguous packet data
     traces = []
     packet_length = int(np.size(org_trace.data) / num_pakets)
     delta_time = org_trace.stats.delta
     tstart = org_trace.stats.starttime
     tend = tstart + delta_time * float(packet_length - 1)
     for i in range(num_pakets):
         tr = Trace(org_trace.data, org_trace.stats)
         tr = tr.slice(tstart, tend)
         traces.append(tr)
         tstart = tr.stats.endtime + delta_time
         tend = tstart + delta_time * float(packet_length - 1)
     # reconstruct original trace by adding together packet traces
     sum_trace = traces[0].copy()
     npts = traces[0].stats.npts
     for i in range(1, len(traces)):
         sum_trace = sum_trace.__add__(traces[i].copy(),
                                       method=0,
                                       interpolation_samples=0,
                                       fill_value='latest',
                                       sanity_checks=True)
         # check npts
         self.assertEquals(traces[i].stats.npts, npts)
         self.assertEquals(sum_trace.stats.npts, (i + 1) * npts)
         # check data
         np.testing.assert_array_equal(traces[i].data,
                                       np.arange(i * npts, (i + 1) * npts))
         np.testing.assert_array_equal(sum_trace.data,
                                       np.arange(0, (i + 1) * npts))
         # check delta
         self.assertEquals(traces[i].stats.delta, org_trace.stats.delta)
         self.assertEquals(sum_trace.stats.delta, org_trace.stats.delta)
         # check sampling rates
         self.assertAlmostEquals(traces[i].stats.sampling_rate,
                                 org_trace.stats.sampling_rate)
         self.assertAlmostEquals(sum_trace.stats.sampling_rate,
                                 org_trace.stats.sampling_rate)
         # check endtimes
         self.assertEquals(traces[i].stats.endtime, sum_trace.stats.endtime)
Esempio n. 4
0
 def test_issue317(self):
     """
     Tests times after breaking a stream into parts and merging it again.
     """
     # create a sample trace
     org_trace = Trace(data=np.arange(22487))
     org_trace.stats.starttime = UTCDateTime()
     org_trace.stats.sampling_rate = 0.999998927116
     num_pakets = 10
     # break org_trace into set of contiguous packet data
     traces = []
     packet_length = int(np.size(org_trace.data) / num_pakets)
     delta_time = org_trace.stats.delta
     tstart = org_trace.stats.starttime
     tend = tstart + delta_time * float(packet_length - 1)
     for i in range(num_pakets):
         tr = Trace(org_trace.data, org_trace.stats)
         tr = tr.slice(tstart, tend)
         traces.append(tr)
         tstart = tr.stats.endtime + delta_time
         tend = tstart + delta_time * float(packet_length - 1)
     # reconstruct original trace by adding together packet traces
     sum_trace = traces[0].copy()
     npts = traces[0].stats.npts
     for i in range(1, len(traces)):
         sum_trace = sum_trace.__add__(traces[i].copy(), method=0,
                                       interpolation_samples=0,
                                       fill_value='latest',
                                       sanity_checks=True)
         # check npts
         self.assertEquals(traces[i].stats.npts, npts)
         self.assertEquals(sum_trace.stats.npts, (i + 1) * npts)
         # check data
         np.testing.assert_array_equal(traces[i].data,
                                       np.arange(i * npts, (i + 1) * npts))
         np.testing.assert_array_equal(sum_trace.data,
                                       np.arange(0, (i + 1) * npts))
         # check delta
         self.assertEquals(traces[i].stats.delta, org_trace.stats.delta)
         self.assertEquals(sum_trace.stats.delta, org_trace.stats.delta)
         # check sampling rates
         self.assertAlmostEquals(traces[i].stats.sampling_rate,
                                 org_trace.stats.sampling_rate)
         self.assertAlmostEquals(sum_trace.stats.sampling_rate,
                                 org_trace.stats.sampling_rate)
         # check endtimes
         self.assertEquals(traces[i].stats.endtime, sum_trace.stats.endtime)