def _read_from_header(self):
folder_path = os.path.dirname(os.path.abspath(self.file_name))
self.all_files = self._get_sorted_channels_()
regexpr = re.compile('\d+')
self.all_channels = []
for f in self.all_files:
self.all_channels += [int(regexpr.findall(f)[0])]
self.header = self._read_header_(self.all_files[0])
header = {}
header['sampling_rate'] = float(self.header['SamplingFrequency'])
header['nb_channels'] = len(self.all_files)
header['gain'] = float(self.header['ADBitVolts'])*1000000
self.inverse = self.header.has_key('InputInverted') and (self.header['InputInverted'] == 'True')
if self.inverse:
header['gain'] *= -1
g = open(self.all_files[0], 'rb')
self.size = ((os.fstat(g.fileno()).st_size - self.NUM_HEADER_BYTES)//self.RECORD_SIZE - 1) * self.SAMPLES_PER_RECORD
self._shape = (self.size, header['nb_channels'])
g.close()
return header
评论列表
文章目录