def test_write_read_stats_over_samples_offset(self): fh = self._create_file(0, 2) r = DataReader() r.raw_processor.suppress_mode = 'off' r.open(fh) data = r.data_get(7, 50, 10) np.testing.assert_allclose(np.arange(23, 90, 20), data[:, 0]['mean'])
def test_write_read_direct_with_sample_overscan_before(self): fh = self._create_file( 1, 3) # will be samples 120 to 250 (not 126 to 252) r = DataReader().open(fh) r.raw_processor.suppress_mode = 'off' data = r.data_get(0, 140, 1) np.testing.assert_allclose(np.arange(252, 532, 2), data[:, 0]['mean'])
def test_write_read_direct_with_offset(self): fh = self._create_file(0, 2) r = DataReader().open(fh) r.raw_processor.suppress_mode = 'off' # d = np.right_shift(r.raw(5, 10), 2) data = r.data_get(5, 10, 1) np.testing.assert_allclose(np.arange(10, 20, 2), data[:, 0]['mean'])
def test_write_read_direct(self): fh = self._create_file(0, 2) r = DataReader().open(fh) self.assertEqual([0, 252], r.sample_id_range) r.raw_processor.suppress_mode = 'off' data = r.data_get(0, 252, 1) np.testing.assert_allclose(np.arange(0, 252 * 2, 2), data[:, 0]['mean'])
def test_create_single(self): fh = self._create_file_insert(0, 2, 2) r = DataReader() r.raw_processor.suppress_mode = 'off' r.open(fh) self.assertEqual([0, 252], r.sample_id_range) self.assertEqual(1000, r.output_sampling_frequency) self.assertEqual(0.05, r.reduction_frequency) self.assertEqual(0.252, r.duration) self.assertEqual(0.0, r.sample_id_to_time(0)) self.assertEqual(0, r.time_to_sample_id(0)) self.assertEqual(0.2, r.sample_id_to_time(200)) self.assertEqual(200, r.time_to_sample_id(0.2)) data = r.data_get(6, 10, 1) np.testing.assert_allclose(np.arange(12, 20, 2), data[:, 0]['mean'])
def test_empty_file(self): fh = io.BytesIO() d = DataRecorder(fh) d.close() fh.seek(0) r = DataReader().open(fh) self.assertEqual([0, 0], r.sample_id_range) self.assertEqual(1.0, r.sampling_frequency) self.assertEqual(1.0, r.input_sampling_frequency) self.assertEqual(1.0, r.output_sampling_frequency) self.assertEqual(1.0, r.reduction_frequency) self.assertEqual(0.0, r.duration) self.assertEqual(0, r.voltage_range) self.assertEqual(0, len(r.get_reduction(0, 0))) self.assertEqual(0, len(r.data_get(0, 0))) self.assertEqual(0, r.time_to_sample_id(0.0)) self.assertEqual(0.0, r.sample_id_to_time(0)) self.assertIsNone(r.samples_get(0, 0)) r.close()
def test_write_read_reduction_indirect(self): fh = self._create_file(0, 32) r = DataReader().open(fh) data = r.data_get(0, 4000, 2000) np.testing.assert_allclose([1999, 5999], data[:, 0]['mean'])
def test_regression_01(self): fname = 'C:/Users/Matth/Documents/joulescope/20201009_185143.jls' r = DataReader().open(fname) s_start, s_stop = r.sample_id_range increment = (s_stop - s_start) // 1000 r.data_get(s_start, s_stop, increment, units='samples')