Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)