def get_mindwave_data_avg_per_RescueTime_interval(self, datetime_from, datetime_to):
        #datetime_from, datetime_to = self.daSession.get_dates_session(session_id)
        list_mindwave_data = self.get_mindwave_data_smoothened(datetime_from, datetime_to)
        list_dates_Rescuetime = self.daRescueTime.get_dates(datetime_from, datetime_to)
        x_axis, attention_data, meditation_data = Mindwave_data_processing.convert_mindwave_data_to_RescueTime_intervals(
            list_mindwave_data, list_dates_Rescuetime)
        x_axis_converted = []
        attention_data_converted = []
        meditation_data_converted = []

        mindwave_data_converted = []
        for index in range(0, len(list_mindwave_data)):
            try:
                datetime_from_mindwave = datetime.datetime.strptime(list_mindwave_data[index][1],
                                                                    "%Y-%m-%d %H:%M:%S.%f")
            except:
                datetime_from_mindwave = datetime.datetime.strptime(list_mindwave_data[index][1], "%Y-%m-%d %H:%M:%S")

            try:
                datetime_to_mindwave = datetime.datetime.strptime(list_mindwave_data[index][2],
                                                                    "%Y-%m-%d %H:%M:%S.%f")
            except:
                datetime_to_mindwave = datetime.datetime.strptime(list_mindwave_data[index][2], "%Y-%m-%d %H:%M:%S")
            for index_m_c in range(0, len(x_axis)):
                if datetime_from_mindwave >= x_axis[index_m_c][0] and datetime_from_mindwave < x_axis[index_m_c][1]:
                    x_axis_converted.append(datetime_from_mindwave)
                    attention_data_converted.append(attention_data[index_m_c])
                    meditation_data_converted.append(meditation_data[index_m_c])
                    mindwave_data_converted.append([datetime_from_mindwave,datetime_to_mindwave,attention_data[index_m_c],meditation_data[index_m_c]])

        mindwave_data_specific_period = [mindwave_data_converted, x_axis_converted, attention_data_converted, meditation_data_converted]
        return mindwave_data_specific_period
    def get_mindwave_data_avg_per_RescueTime_interval(self, datetime_from,
                                                      datetime_to):
        #datetime_from, datetime_to = self.daSession.get_dates_session(session_id)
        list_mindwave_data = self.get_mindwave_data_smoothened(
            datetime_from, datetime_to)
        list_dates_Rescuetime = self.daRescueTime.get_dates(
            datetime_from, datetime_to)
        x_axis, attention_data, meditation_data = Mindwave_data_processing.convert_mindwave_data_to_RescueTime_intervals(
            list_mindwave_data, list_dates_Rescuetime)
        x_axis_converted = []
        attention_data_converted = []
        meditation_data_converted = []

        mindwave_data_converted = []
        for index in range(0, len(list_mindwave_data)):
            try:
                datetime_from_mindwave = datetime.datetime.strptime(
                    list_mindwave_data[index][1], "%Y-%m-%d %H:%M:%S.%f")
            except:
                datetime_from_mindwave = datetime.datetime.strptime(
                    list_mindwave_data[index][1], "%Y-%m-%d %H:%M:%S")

            try:
                datetime_to_mindwave = datetime.datetime.strptime(
                    list_mindwave_data[index][2], "%Y-%m-%d %H:%M:%S.%f")
            except:
                datetime_to_mindwave = datetime.datetime.strptime(
                    list_mindwave_data[index][2], "%Y-%m-%d %H:%M:%S")
            for index_m_c in range(0, len(x_axis)):
                if datetime_from_mindwave >= x_axis[index_m_c][
                        0] and datetime_from_mindwave < x_axis[index_m_c][1]:
                    x_axis_converted.append(datetime_from_mindwave)
                    attention_data_converted.append(attention_data[index_m_c])
                    meditation_data_converted.append(
                        meditation_data[index_m_c])
                    mindwave_data_converted.append([
                        datetime_from_mindwave, datetime_to_mindwave,
                        attention_data[index_m_c], meditation_data[index_m_c]
                    ])

        mindwave_data_specific_period = [
            mindwave_data_converted, x_axis_converted,
            attention_data_converted, meditation_data_converted
        ]
        return mindwave_data_specific_period
    def test_convert_mindwave_data_to_RescueTime_intervals(self):
        list_dates_Rescuetime = [["2014-04-24 14:00:00"],["2014-04-24 14:05:00"],["2014-04-24 14:10:00"]]
        list_mindwave_data = []
        list_mindwave_data.append([0,"2014-04-24 14:00:00",None,0.50,0.40,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:01:00",None,0.10,0.20,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:02:00",None,0.60,0.30,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:03:00",None,0.80,0.50,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:04:00",None,0.10,0.50,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:05:00",None,0.10,0.10,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:06:00",None,0.50,0.90,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:07:00",None,0.60,0.40,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:08:00",None,0.80,0.60,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:09:00",None,0.40,0.20,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:10:00",None,0.60,0.30,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:11:00",None,0.20,0.60,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:12:00",None,0.80,0.80,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:13:00",None,0.10,0.60,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:14:00",None,0.30,0.10,None,None])
        list_mindwave_data.append([0,"2014-04-24 14:15:00",None,0.50,0.20,None,None])

        attention_data_original = []
        meditation_data_original = []

        for item in list_mindwave_data:
            attention_data_original.append(item[3])
            meditation_data_original.append(item[4])

        x_axix,attention_data,meditation_data = Mindwave_data_processing.convert_mindwave_data_to_RescueTime_intervals(list_mindwave_data, list_dates_Rescuetime)

        self.assertEqual(round(attention_data[0],2),round(np.mean(attention_data_original[0:6]),2))
        self.assertEqual(round(attention_data[1],2),round(np.mean(attention_data_original[6:11]),2))
        self.assertEqual(round(attention_data[2],2),round(np.mean(attention_data_original[11:16]),2))

        self.assertEqual(round(meditation_data[0],2),round(np.mean(meditation_data_original[0:6]),2))
        self.assertEqual(round(meditation_data[1],2),round(np.mean(meditation_data_original[6:11]),2))
        self.assertEqual(round(meditation_data[2],2),round(np.mean(meditation_data_original[11:16]),2))
示例#4
0
    def test_convert_mindwave_data_to_RescueTime_intervals(self):
        list_dates_Rescuetime = [["2014-04-24 14:00:00"],
                                 ["2014-04-24 14:05:00"],
                                 ["2014-04-24 14:10:00"]]
        list_mindwave_data = []
        list_mindwave_data.append(
            [0, "2014-04-24 14:00:00", None, 0.50, 0.40, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:01:00", None, 0.10, 0.20, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:02:00", None, 0.60, 0.30, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:03:00", None, 0.80, 0.50, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:04:00", None, 0.10, 0.50, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:05:00", None, 0.10, 0.10, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:06:00", None, 0.50, 0.90, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:07:00", None, 0.60, 0.40, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:08:00", None, 0.80, 0.60, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:09:00", None, 0.40, 0.20, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:10:00", None, 0.60, 0.30, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:11:00", None, 0.20, 0.60, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:12:00", None, 0.80, 0.80, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:13:00", None, 0.10, 0.60, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:14:00", None, 0.30, 0.10, None, None])
        list_mindwave_data.append(
            [0, "2014-04-24 14:15:00", None, 0.50, 0.20, None, None])

        attention_data_original = []
        meditation_data_original = []

        for item in list_mindwave_data:
            attention_data_original.append(item[3])
            meditation_data_original.append(item[4])

        x_axix, attention_data, meditation_data = Mindwave_data_processing.convert_mindwave_data_to_RescueTime_intervals(
            list_mindwave_data, list_dates_Rescuetime)

        self.assertEqual(round(attention_data[0], 2),
                         round(np.mean(attention_data_original[0:6]), 2))
        self.assertEqual(round(attention_data[1], 2),
                         round(np.mean(attention_data_original[6:11]), 2))
        self.assertEqual(round(attention_data[2], 2),
                         round(np.mean(attention_data_original[11:16]), 2))

        self.assertEqual(round(meditation_data[0], 2),
                         round(np.mean(meditation_data_original[0:6]), 2))
        self.assertEqual(round(meditation_data[1], 2),
                         round(np.mean(meditation_data_original[6:11]), 2))
        self.assertEqual(round(meditation_data[2], 2),
                         round(np.mean(meditation_data_original[11:16]), 2))