def readSigfile(self, filename): """ Load BVP signal. Must return a 1-dim (row array) signal """ gtTrace = [] gtTime = [] gtHR = [] with open(filename, 'r') as f: x = f.readlines() s = x[0].split(' ') s = list(filter(lambda a: a != '', s)) gtTrace = np.array(s).astype(np.float64) t = x[2].split(' ') t = list(filter(lambda a: a != '', t)) gtTime = np.array(t).astype(np.float64) hr = x[1].split(' ') hr = list(filter(lambda a: a != '', hr)) gtHR = np.array(hr).astype(np.float64) data = np.array(gtTrace) time = np.array(gtTime) self.SIG_SampleRate = np.round(1 / np.mean(np.diff(time))) return BVPsignal(data, self.SIG_SampleRate)
def readSigfile(self, filename): """ Load BVP signal. Must return a 1-dim (row array) signal """ tree = ET.parse(filename) # get all bvp elements and their values bvp_elements = tree.findall('.//*/value2') bvp = [int(item.text) for item in bvp_elements] n_bvp_samples = len(bvp) last_bvp_time = int((n_bvp_samples * 1000) / self.SIG_SampleRate) vid_xml_filename = path.join( path.dirname(filename), 'cv_camera_sensor_timer_stream_handler.xml') tree = ET.parse(vid_xml_filename) root = tree.getroot() last_vid_time = int(float(root[-1].find('value1').text)) diff = ((last_bvp_time - last_vid_time) / 1000) assert diff >= 0, 'Unusable data.' print("Skipping %.2f seconds..." % diff) diff_samples = round(diff * self.SIG_SampleRate) data = np.array(bvp[diff_samples:]) return BVPsignal(data, self.SIG_SampleRate)
def readSigfile(self, filename): """ Load BVP signal. Must return a 1-dim (row array) signal """ f = h5py.File(filename, 'r') data = np.array(f['pulse']) # load the signal data = data.reshape(1, len(data)) # monodimentional signal return BVPsignal(data, self.SIG_SampleRate)
def readSigfile(self, filename): """ Load BVP signal. Must return a 1-dim (row array) signal """ bvp = [] with open(filename) as json_file: json_data = json.load(json_file) for p in json_data['/FullPackage']: bvp.append(p['Value']['waveform']) data = np.array(bvp) return BVPsignal(data, self.SIG_SampleRate)
def readSigfile(self, filename): """ Load BVP signal. Must return a 1-dim (row array) signal """ gtTrace = [] gtTime = [] gtHR = [] with open(filename, 'r') as csvfile: xmp = csv.reader(csvfile) for row in xmp: gtTrace.append(float(row[3])) gtTime.append(float(row[0]) / 1000.) gtHR.append(float(row[1])) data = np.array(gtTrace) time = np.array(gtTime) hr = np.array(gtHR) self.SIG_SampleRate = np.round(1 / np.mean(np.diff(time))) '''import matplotlib.pyplot as plt plt.plot(hr) plt.show()''' return BVPsignal(data, self.SIG_SampleRate)