def testReadChannelGainAPLF(self): for meta_data_file in self.meta_files: if meta_data_file.name.split('.')[-2] not in ['lf', 'ap']: continue md = spikeglx.read_meta_data(meta_data_file) cg = spikeglx._conversion_sample2v_from_meta(md) i2v = md.get('imAiRangeMax') / 512 self.assertTrue(np.all(cg['lf'][0:-1] == i2v / 250)) self.assertTrue(np.all(cg['ap'][0:-1] == i2v / 500)) # also test consistent dimension with nchannels nc = spikeglx._get_nchannels_from_meta(md) self.assertTrue(len(cg['ap']) == len(cg['lf']) == nc)
def testReadChannelGainNIDQ(self): for meta_data_file in self.meta_files: if meta_data_file.name.split('.')[-2] not in ['nidq']: continue md = spikeglx.read_meta_data(meta_data_file) nc = spikeglx._get_nchannels_from_meta(md) cg = spikeglx._conversion_sample2v_from_meta(md) i2v = md.get('niAiRangeMax') / 32768 self.assertTrue( np.all(cg['nidq'][slice(0, int(np.sum(md.acqMnMaXaDw[:3])))] == i2v)) self.assertTrue( np.all(cg['nidq'][slice(int(np.sum(md.acqMnMaXaDw[-1])), None)] == 1.)) self.assertTrue(len(cg['nidq']) == nc)
def _sample2v(ap_file): md = spikeglx.read_meta_data(ap_file.with_suffix('.meta')) s2v = spikeglx._conversion_sample2v_from_meta(md) return s2v['ap'][0]