+ key = ('%s_%s_to_%s_calibration_file'
+ % (channel_name,
+ conversion_info['base-calibration-slot'],
+ conversion))
+ calib_path = conversion_info['file']
+ if key in info:
+ calib_path = os.path.join(os.path.dirname(path), info[key])
+ self.logger().debug(
+ 'Overriding %s -> %s calibration for %s channel: %s'
+ % (conversion_info['base-calibration-slot'],
+ conversion, channel_name, calib_path))
+ if os.path.exists(calib_path):
+ with file(calib_path, 'r') as f:
+ lines = [x.strip() for x in f.readlines()]
+ f.close()
+ calib = { # I've emailed JPK to confirm this file format.
+ 'title':lines[0],
+ 'multiplier':float(lines[1]),
+ 'offset':float(lines[2]),
+ 'unit':lines[3],
+ 'note':'\n'.join(lines[4:]),
+ }
+ segment[:,channel] = (segment[:,channel] * calib['multiplier']
+ + calib['offset'])
+ segment.info['columns'][channel] = (
+ '%s (%s)' % (channel_name, calib['unit']))
+ return segment