Beispiel #1
0
 def test_encoder_positions_corrupts(self):
     path = self.main_path.joinpath('data', 'wheel', 'ge5')
     for file_position in path.rglob('_iblrig_encoderPositions.raw.*'):
         dy = raw._load_encoder_positions_file_ge5(file_position)
         self.assertTrue(dy.size > 18)
     path = self.main_path.joinpath('data', 'wheel', 'lt5')
     for file_position in path.rglob('_iblrig_encoderPositions.raw.*'):
         dy = raw._load_encoder_positions_file_lt5(file_position)
         self.assertTrue(dy.size > 18)
 def test_encoder_positions_clock_reset(self):
     # TRAINING SESSIONS
     # only for training?
     path = self.training_lt5['path'] / "raw_behavior_data"
     path = next(path.glob("_iblrig_encoderPositions.raw*.ssv"), None)
     dy = raw._load_encoder_positions_file_lt5(path)
     dat = np.array([849736, 1532230, 1822449, 1833514, 1841566, 1848206, 1853979, 1859144])
     self.assertTrue(np.all(np.diff(dy['re_ts']) > 0))
     self.assertTrue(all(dy['re_ts'][6:] - 2 ** 32 - dat == 0))
Beispiel #3
0
 def test_wheel_folder(self):
     # the wheel folder contains other errors in bpod output that had to be addressed
     # 2 first samples timestamp AWOL instead of only one
     wf = self.wheel_path / '_iblrig_encoderPositions.raw.2firstsamples.ssv'
     df = raw._load_encoder_positions_file_lt5(wf)
     self.assertTrue(np.all(np.diff(np.array(df.re_ts)) > 0))
     # corruption in the middle of file
     wf = self.wheel_path / '_iblrig_encoderEvents.raw.CorruptMiddle.ssv'
     df = raw._load_encoder_events_file_lt5(wf)
     self.assertTrue(np.all(np.diff(np.array(df.re_ts)) > 0))
Beispiel #4
0
 def test_encoder_positions_clock_errors(self):
     # here we test for 2 kinds of file corruption that happen
     # 1/2 the first sample time is corrupt and absurdly high and should be discarded
     # 2/2 2 samples are swapped and need to be swapped backk
     path = self.biased_lt5['path'] / "raw_behavior_data"
     path = next(path.glob("_iblrig_encoderPositions.raw*.ssv"), None)
     dy = raw._load_encoder_positions_file_lt5(path)
     self.assertTrue(np.all(np.diff(np.array(dy.re_ts)) > 0))
     # -- version >= 5.0.0
     path = self.biased_ge5['path'] / "raw_behavior_data"
     path = next(path.glob("_iblrig_encoderPositions.raw*.ssv"), None)
     dy = raw._load_encoder_positions_file_ge5(path)
     self.assertTrue(np.all(np.diff(np.array(dy.re_ts)) > 0))
 def test_wheel_folders(self):
     # the wheel folder contains other errors in bpod output that had to be addressed
     for wf in self.wheel_lt5_path.glob('_iblrig_encoderPositions*.raw*.ssv'):
         df = raw._load_encoder_positions_file_lt5(wf)
         self.assertTrue(np.all(np.diff(np.array(df.re_ts)) > 0))
     for wf in self.wheel_lt5_path.glob('_iblrig_encoderEvents*.raw*.ssv'):
         df = raw._load_encoder_events_file_lt5(wf)
         self.assertTrue(np.all(np.diff(np.array(df.re_ts)) > 0))
     for wf in self.wheel_ge5_path.glob('_iblrig_encoderPositions*.raw*.ssv'):
         df = raw._load_encoder_positions_file_ge5(wf)
         self.assertTrue(np.all(np.diff(np.array(df.re_ts)) > 0))
     for wf in self.wheel_ge5_path.glob('_iblrig_encoderEvents*.raw*.ssv'):
         df = raw._load_encoder_events_file_ge5(wf)
         self.assertTrue(np.all(np.diff(np.array(df.re_ts)) > 0))
Beispiel #6
0
    def test_encoder_positions_duds(self):
        # TRAINING SESSIONS
        path = self.training_lt5['path'] / "raw_behavior_data"
        path = next(path.glob("_iblrig_encoderPositions.raw*.ssv"), None)
        dy = raw._load_encoder_positions_file_lt5(path)
        self.assertEqual(dy.bns_ts.dtype.name, 'object')
        self.assertTrue(dy.shape[0] == 14)
        # -- version >= 5.0.0
        path = self.training_ge5['path'] / "raw_behavior_data"
        path = next(path.glob("_iblrig_encoderPositions.raw*.ssv"), None)
        dy = raw._load_encoder_positions_file_ge5(path)
        self.assertTrue(dy.shape[0] == 936)

        # BIASED SESSIONS
        path = self.biased_lt5['path'] / "raw_behavior_data"
        path = next(path.glob("_iblrig_encoderPositions.raw*.ssv"), None)
        dy = raw._load_encoder_positions_file_lt5(path)
        self.assertEqual(dy.bns_ts.dtype.name, 'object')
        self.assertTrue(dy.shape[0] == 14)
        # -- version >= 5.0.0
        path = self.biased_ge5['path'] / "raw_behavior_data"
        path = next(path.glob("_iblrig_encoderPositions.raw*.ssv"), None)
        dy = raw._load_encoder_positions_file_ge5(path)
        self.assertTrue(dy.shape[0] == 1122)