s_map = Signal(samples=samples, timestamps=timestamps, name="Variable Map Signal", unit="dB") s_map.plot() prod = s_float64 * s_uint8 prod.name = "Uint8_Signal * Float64_Signal" prod.unit = "*" prod.plot() pow2 = s_uint8**2 pow2.name = "Uint8_Signal ^ 2" pow2.unit = "u1^2" pow2.plot() allsum = s_uint8 + s_int32 + s_float64 allsum.name = "Uint8_Signal + Int32_Signal + Float64_Signal" allsum.unit = "+" allsum.plot() # inplace operations pow2 *= -1 pow2.name = "- Uint8_Signal ^ 2" pow2.plot() # cut signal s_int32.plot() cut_signal = s_int32.cut(start=0.2, stop=0.35) cut_signal.plot()
def test_cut_int(self): s = Signal( np.arange(5), np.arange(5, dtype='<f8'), name='S', ) res = s.cut() self.assertTrue(np.array_equal(np.arange(5), res.samples)) self.assertTrue( np.array_equal(np.arange(5, dtype='<f8'), res.timestamps)) # stop == None res = s.cut(start=-1) self.assertTrue(np.array_equal(np.arange(5), res.samples)) self.assertTrue( np.array_equal(np.arange(5, dtype='<f8'), res.timestamps)) res = s.cut(start=-1, include_ends=False) self.assertTrue(np.array_equal(np.arange(5), res.samples)) self.assertTrue( np.array_equal(np.arange(5, dtype='<f8'), res.timestamps)) res = s.cut(start=0) self.assertTrue(np.array_equal(np.arange(5), res.samples)) self.assertTrue( np.array_equal(np.arange(5, dtype='<f8'), res.timestamps)) res = s.cut(start=0, include_ends=False) self.assertTrue(np.array_equal(np.arange(5), res.samples)) self.assertTrue( np.array_equal(np.arange(5, dtype='<f8'), res.timestamps)) res = s.cut(start=0.5) self.assertTrue(np.array_equal([0, 1, 2, 3, 4], res.samples)) self.assertTrue( np.array_equal(np.array([0.5, 1, 2, 3, 4], dtype='<f8'), res.timestamps)) res = s.cut(start=0.5, include_ends=False) self.assertTrue(np.array_equal([1, 2, 3, 4], res.samples)) self.assertTrue( np.array_equal(np.array([1, 2, 3, 4], dtype='<f8'), res.timestamps)) res = s.cut(start=4) self.assertTrue(np.array_equal([4], res.samples)) self.assertTrue( np.array_equal(np.array([4], dtype='<f8'), res.timestamps)) res = s.cut(start=4, include_ends=False) self.assertTrue(np.array_equal([4], res.samples)) self.assertTrue( np.array_equal(np.array([4], dtype='<f8'), res.timestamps)) res = s.cut(start=4.1) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps)) res = s.cut(start=4.1, include_ends=False) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps)) # start == None res = s.cut(stop=-1) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps)) res = s.cut(stop=-1, include_ends=False) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps)) res = s.cut(stop=0) self.assertTrue(np.array_equal([0], res.samples)) self.assertTrue( np.array_equal(np.array([0], dtype='<f8'), res.timestamps)) res = s.cut(stop=0, include_ends=False) self.assertTrue(np.array_equal([0], res.samples)) self.assertTrue( np.array_equal(np.array([0], dtype='<f8'), res.timestamps)) res = s.cut(stop=0.5) self.assertTrue(np.array_equal([0, 0], res.samples)) self.assertTrue( np.array_equal(np.array([0, 0.5], dtype='<f8'), res.timestamps)) res = s.cut(stop=0.5, include_ends=False) self.assertTrue(np.array_equal([0], res.samples)) self.assertTrue( np.array_equal(np.array([0], dtype='<f8'), res.timestamps)) res = s.cut(stop=4) self.assertTrue(np.array_equal([0, 1, 2, 3, 4], res.samples)) self.assertTrue( np.array_equal(np.array([0, 1, 2, 3, 4], dtype='<f8'), res.timestamps)) res = s.cut(stop=4, include_ends=False) self.assertTrue(np.array_equal([0, 1, 2, 3, 4], res.samples)) self.assertTrue( np.array_equal(np.array([0, 1, 2, 3, 4], dtype='<f8'), res.timestamps)) res = s.cut(stop=4.1) self.assertTrue(np.array_equal([0, 1, 2, 3, 4], res.samples)) self.assertTrue( np.array_equal(np.array([0, 1, 2, 3, 4], dtype='<f8'), res.timestamps)) res = s.cut(stop=4.1, include_ends=False) self.assertTrue(np.array_equal([0, 1, 2, 3, 4], res.samples)) self.assertTrue( np.array_equal(np.array([0, 1, 2, 3, 4], dtype='<f8'), res.timestamps)) # with start and stop res = s.cut(start=-2, stop=-1) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps)) res = s.cut(start=-2, stop=-1, include_ends=False) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps)) res = s.cut(start=-2, stop=0) self.assertTrue(np.array_equal([0], res.samples)) self.assertTrue( np.array_equal(np.array([0], dtype='<f8'), res.timestamps)) res = s.cut(start=-2, stop=0, include_ends=False) self.assertTrue(np.array_equal([0], res.samples)) self.assertTrue( np.array_equal(np.array([0], dtype='<f8'), res.timestamps)) res = s.cut(start=-2, stop=0.5) self.assertTrue(np.array_equal([0, 0], res.samples)) self.assertTrue( np.array_equal(np.array([0, 0.5], dtype='<f8'), res.timestamps)) res = s.cut(start=-2, stop=0.5, include_ends=False) self.assertTrue(np.array_equal([0], res.samples)) self.assertTrue( np.array_equal(np.array([0], dtype='<f8'), res.timestamps)) res = s.cut(start=-2, stop=1.1) self.assertTrue(np.array_equal([0, 1, 1], res.samples)) self.assertTrue( np.array_equal(np.array([0, 1, 1.1], dtype='<f8'), res.timestamps)) res = s.cut(start=-2, stop=1.1, include_ends=False) self.assertTrue(np.array_equal([0, 1], res.samples)) self.assertTrue( np.array_equal(np.array([0, 1], dtype='<f8'), res.timestamps)) res = s.cut(start=0, stop=1) self.assertTrue(np.array_equal([0, 1], res.samples)) self.assertTrue( np.array_equal(np.array([0, 1], dtype='<f8'), res.timestamps)) res = s.cut(start=0, stop=1, include_ends=False) self.assertTrue(np.array_equal([0, 1], res.samples)) self.assertTrue( np.array_equal(np.array([0, 1], dtype='<f8'), res.timestamps)) res = s.cut(start=0.1, stop=3.5) self.assertTrue(np.array_equal([0, 1, 2, 3, 3], res.samples)) self.assertTrue( np.array_equal(np.array([0.1, 1, 2, 3, 3.5], dtype='<f8'), res.timestamps)) res = s.cut(start=0.1, stop=3.5, include_ends=False) self.assertTrue(np.array_equal([1, 2, 3], res.samples)) self.assertTrue( np.array_equal(np.array([1, 2, 3], dtype='<f8'), res.timestamps)) res = s.cut(start=1.1, stop=1.9) self.assertTrue(np.array_equal([1, 1], res.samples)) self.assertTrue( np.array_equal(np.array([1.1, 1.9], dtype='<f8'), res.timestamps)) res = s.cut(start=1.1, stop=1.9, include_ends=False) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps)) res = s.cut(start=3.5, stop=4.5) self.assertTrue(np.array_equal([3, 4], res.samples)) self.assertTrue( np.array_equal(np.array([3.5, 4], dtype='<f8'), res.timestamps)) res = s.cut(start=3.5, stop=4.5, include_ends=False) self.assertTrue(np.array_equal([4], res.samples)) self.assertTrue( np.array_equal(np.array([4], dtype='<f8'), res.timestamps)) res = s.cut(start=4, stop=4.5) self.assertTrue(np.array_equal([4], res.samples)) self.assertTrue( np.array_equal(np.array([4], dtype='<f8'), res.timestamps)) res = s.cut(start=4, stop=4.5, include_ends=False) self.assertTrue(np.array_equal([4], res.samples)) self.assertTrue( np.array_equal(np.array([4], dtype='<f8'), res.timestamps)) res = s.cut(start=4.1, stop=4.2) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps)) res = s.cut(start=4.1, stop=4.2, include_ends=False) self.assertTrue(np.array_equal([], res.samples)) self.assertTrue( np.array_equal(np.array([], dtype='<f8'), res.timestamps))