def __get_waveforms_dtype(self):
"""
Extracts the actual waveform dtype set for each channel.
"""
# Blackrock code giving the approiate dtype
conv = {0: 'int8', 1: 'int8', 2: 'int16', 4: 'int32'}
# get all electrode ids from nev ext header
all_el_ids = self.__nev_ext_header[b'NEUEVWAV']['electrode_id']
# get the dtype of waveform (this is stupidly complicated)
if self.__is_set(
np.array(self.__nev_basic_header['additionnal_flags']), 0):
dtype_waveforms = dict((k, 'int16') for k in all_el_ids)
else:
# extract bytes per waveform
waveform_bytes = \
self.__nev_ext_header[b'NEUEVWAV']['bytes_per_waveform']
# extract dtype for waveforms fro each electrode
dtype_waveforms = dict(zip(all_el_ids, conv[waveform_bytes]))
return dtype_waveforms
评论列表
文章目录