2021-06-22 13:32:51 +00:00
|
|
|
import pandas as pd
|
2021-06-22 18:31:16 +00:00
|
|
|
from pathlib import Path
|
2021-06-24 08:10:28 +00:00
|
|
|
import numpy as np
|
2021-06-23 09:33:23 +00:00
|
|
|
from pandas.core.frame import DataFrame
|
2021-06-30 13:35:39 +00:00
|
|
|
from Present_data import get_data
|
2021-06-23 09:33:23 +00:00
|
|
|
|
2021-06-23 09:17:59 +00:00
|
|
|
class Data_container:
|
|
|
|
|
2021-06-23 09:33:23 +00:00
|
|
|
def __init__(self, subject_nr:int, subject_name:str):
|
|
|
|
self.subject_nr = subject_nr
|
|
|
|
self.subject_name = subject_name
|
2021-06-25 08:07:35 +00:00
|
|
|
self.data_dict_round1 = {'left': [None]*8, 'right': [None]*8}
|
|
|
|
self.data_dict_round2 = {'left': [None]*8, 'right': [None]*8}
|
|
|
|
self.data_dict_round3 = {'left': [None]*8, 'right': [None]*8}
|
|
|
|
self.data_dict_round4 = {'left': [None]*8, 'right': [None]*8}
|
2021-06-28 18:32:00 +00:00
|
|
|
self.dict_list = [self.data_dict_round1,
|
2021-06-25 11:41:57 +00:00
|
|
|
self.data_dict_round2,
|
|
|
|
self.data_dict_round3,
|
|
|
|
self.data_dict_round4
|
|
|
|
]
|
2021-06-23 09:17:59 +00:00
|
|
|
|
2021-06-22 18:31:16 +00:00
|
|
|
class CSV_handler:
|
|
|
|
|
2021-06-28 09:28:53 +00:00
|
|
|
def __init__(self):
|
2021-06-23 09:33:23 +00:00
|
|
|
self.working_dir = str(Path.cwd())
|
2021-06-25 11:41:57 +00:00
|
|
|
self.data_container_dict = {} # Dict with keys equal subject numbers and values equal the relvant datacontainer
|
2021-06-28 09:28:53 +00:00
|
|
|
self.data_type = None
|
2021-06-22 18:31:16 +00:00
|
|
|
|
2021-06-22 19:00:51 +00:00
|
|
|
# Makes dataframe from the csv files in the working directory
|
2021-06-22 19:30:55 +00:00
|
|
|
def make_df(self, filename):
|
2021-06-22 18:31:16 +00:00
|
|
|
filepath = self.working_dir + str(filename)
|
|
|
|
df = pd.read_csv(filepath)
|
|
|
|
return df
|
2021-06-22 19:00:51 +00:00
|
|
|
|
2021-06-23 09:33:23 +00:00
|
|
|
# Extracts out the timestamp and the selected emg signal into a new dataframe and stores the data on the subject
|
2021-06-23 11:52:18 +00:00
|
|
|
def get_time_emg_table(self, filename:str, emg_nr:int):
|
2021-06-23 08:32:38 +00:00
|
|
|
tot_data_frame = self.make_df(filename)
|
2021-06-23 09:01:02 +00:00
|
|
|
emg_str = 'emg' + str(emg_nr)
|
2021-06-22 19:00:51 +00:00
|
|
|
filtered_df = tot_data_frame[["timestamp", emg_str]]
|
2021-06-23 11:52:18 +00:00
|
|
|
return filtered_df
|
|
|
|
|
2021-06-25 09:12:32 +00:00
|
|
|
# Takes in a df and stores the information in a Data_container object
|
2021-06-25 08:43:59 +00:00
|
|
|
def store_df_in_container(self, filename:str, emg_nr:int, which_arm:str, data_container:Data_container, round:int):
|
|
|
|
df = self.get_time_emg_table(filename, emg_nr+1)
|
|
|
|
|
2021-06-23 09:41:06 +00:00
|
|
|
# Places the data correctly:
|
2021-06-25 08:43:59 +00:00
|
|
|
if round == 1:
|
2021-06-25 08:07:35 +00:00
|
|
|
if which_arm == 'left':
|
2021-06-25 08:43:59 +00:00
|
|
|
data_container.data_dict_round1['left'][emg_nr] = df # Zero indexed emg_nr in the dict
|
2021-06-25 08:07:35 +00:00
|
|
|
else:
|
2021-06-25 08:43:59 +00:00
|
|
|
data_container.data_dict_round1['right'][emg_nr] = df
|
2021-06-25 08:07:35 +00:00
|
|
|
elif round == 2:
|
|
|
|
if which_arm == 'left':
|
2021-06-25 08:43:59 +00:00
|
|
|
data_container.data_dict_round2['left'][emg_nr] = df
|
2021-06-25 08:07:35 +00:00
|
|
|
else:
|
2021-06-25 08:43:59 +00:00
|
|
|
data_container.data_dict_round2['right'][emg_nr] = df
|
2021-06-25 08:07:35 +00:00
|
|
|
elif round == 3:
|
|
|
|
if which_arm == 'left':
|
2021-06-25 08:43:59 +00:00
|
|
|
data_container.data_dict_round3['left'][emg_nr] = df
|
2021-06-25 08:07:35 +00:00
|
|
|
else:
|
2021-06-25 08:43:59 +00:00
|
|
|
data_container.data_dict_round3['right'][emg_nr] = df
|
|
|
|
elif round == 4:
|
|
|
|
if which_arm == 'left':
|
|
|
|
data_container.data_dict_round4['left'][emg_nr] = df
|
|
|
|
else:
|
|
|
|
data_container.data_dict_round4['right'][emg_nr] = df
|
2021-06-25 08:07:35 +00:00
|
|
|
else:
|
|
|
|
raise IndexError('Not a valid index')
|
2021-06-22 19:00:51 +00:00
|
|
|
|
2021-06-25 09:12:32 +00:00
|
|
|
# Links the data container for a subject to the handler object
|
2021-06-25 08:43:59 +00:00
|
|
|
def link_container_to_handler(self, data_container:Data_container):
|
|
|
|
# Links the retrieved data with the subjects data_container
|
|
|
|
subject_nr = data_container.subject_nr
|
|
|
|
self.data_container_dict[subject_nr] = data_container
|
2021-06-28 13:22:10 +00:00
|
|
|
|
2021-06-25 07:29:23 +00:00
|
|
|
# Loads the data from the csv files into a storing system in an CSV_handler object
|
2021-06-25 09:12:32 +00:00
|
|
|
# (hard, hardPP, soft and softPP)
|
2021-06-25 07:29:23 +00:00
|
|
|
def load_hard_PP_emg_data(self):
|
|
|
|
|
|
|
|
# CSV data from subject 1
|
|
|
|
file1_subject1_left = "/Exp20201205_2myo_hardTypePP/HaluskaMarek_20201207_1810/myoLeftEmg.csv"
|
|
|
|
file2_subject1_left = "/Exp20201205_2myo_hardTypePP/HaluskaMarek_20201207_1830/myoLeftEmg.csv"
|
|
|
|
file3_subject1_left = "/Exp20201205_2myo_hardTypePP/HaluskaMarek_20201207_1845/myoLeftEmg.csv"
|
|
|
|
file4_subject1_left = "/Exp20201205_2myo_hardTypePP/HaluskaMarek_20201207_1855/myoLeftEmg.csv"
|
|
|
|
subject1_left_files = [file1_subject1_left, file2_subject1_left, file3_subject1_left, file4_subject1_left]
|
|
|
|
file1_subject1_rigth = "/Exp20201205_2myo_hardTypePP/HaluskaMarek_20201207_1810/myoRightEmg.csv"
|
|
|
|
file2_subject1_rigth = "/Exp20201205_2myo_hardTypePP/HaluskaMarek_20201207_1830/myoRightEmg.csv"
|
|
|
|
file3_subject1_rigth = "/Exp20201205_2myo_hardTypePP/HaluskaMarek_20201207_1845/myoRightEmg.csv"
|
|
|
|
file4_subject1_rigth = "/Exp20201205_2myo_hardTypePP/HaluskaMarek_20201207_1855/myoRightEmg.csv"
|
|
|
|
subject1_right_files = [file1_subject1_rigth, file2_subject1_rigth, file3_subject1_rigth, file4_subject1_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 2
|
|
|
|
file1_subject2_left = "/Exp20201205_2myo_hardTypePP/HaluskaMaros_20201205_2010/myoLeftEmg.csv"
|
|
|
|
file2_subject2_left = "/Exp20201205_2myo_hardTypePP/HaluskaMaros_20201205_2025/myoLeftEmg.csv"
|
|
|
|
file3_subject2_left = "/Exp20201205_2myo_hardTypePP/HaluskaMaros_20201205_2035/myoLeftEmg.csv"
|
|
|
|
file4_subject2_left = "/Exp20201205_2myo_hardTypePP/HaluskaMaros_20201205_2045/myoLeftEmg.csv"
|
|
|
|
subject2_left_files = [file1_subject2_left, file2_subject2_left, file3_subject2_left, file4_subject2_left]
|
|
|
|
file1_subject2_rigth = "/Exp20201205_2myo_hardTypePP/HaluskaMaros_20201205_2010/myoRightEmg.csv"
|
|
|
|
file2_subject2_rigth = "/Exp20201205_2myo_hardTypePP/HaluskaMaros_20201205_2025/myoRightEmg.csv"
|
|
|
|
file3_subject2_rigth = "/Exp20201205_2myo_hardTypePP/HaluskaMaros_20201205_2035/myoRightEmg.csv"
|
|
|
|
file4_subject2_rigth = "/Exp20201205_2myo_hardTypePP/HaluskaMaros_20201205_2045/myoRightEmg.csv"
|
|
|
|
subject2_right_files = [file1_subject2_rigth, file2_subject2_rigth, file3_subject2_rigth, file4_subject2_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 3
|
|
|
|
file1_subject3_left = "/Exp20201205_2myo_hardTypePP/HaluskovaBeata_20201205_1700/myoLeftEmg.csv"
|
|
|
|
file2_subject3_left = "/Exp20201205_2myo_hardTypePP/HaluskovaBeata_20201205_1715/myoLeftEmg.csv"
|
|
|
|
file3_subject3_left = "/Exp20201205_2myo_hardTypePP/HaluskovaBeata_20201205_1725/myoLeftEmg.csv"
|
|
|
|
file4_subject3_left = "/Exp20201205_2myo_hardTypePP/HaluskovaBeata_20201205_1735/myoLeftEmg.csv"
|
|
|
|
subject3_left_files = [file1_subject3_left, file2_subject3_left, file3_subject3_left, file4_subject3_left]
|
|
|
|
file1_subject3_rigth = "/Exp20201205_2myo_hardTypePP/HaluskovaBeata_20201205_1700/myoRightEmg.csv"
|
|
|
|
file2_subject3_rigth = "/Exp20201205_2myo_hardTypePP/HaluskovaBeata_20201205_1715/myoRightEmg.csv"
|
|
|
|
file3_subject3_rigth = "/Exp20201205_2myo_hardTypePP/HaluskovaBeata_20201205_1725/myoRightEmg.csv"
|
|
|
|
file4_subject3_rigth = "/Exp20201205_2myo_hardTypePP/HaluskovaBeata_20201205_1735/myoRightEmg.csv"
|
|
|
|
subject3_right_files = [file1_subject3_rigth, file2_subject3_rigth, file3_subject3_rigth, file4_subject3_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 4
|
|
|
|
file1_subject4_left = "/Exp20201205_2myo_hardTypePP/KelisekDavid_20201209_1900/myoLeftEmg.csv"
|
|
|
|
file2_subject4_left = "/Exp20201205_2myo_hardTypePP/KelisekDavid_20201209_1915/myoLeftEmg.csv"
|
|
|
|
file3_subject4_left = "/Exp20201205_2myo_hardTypePP/KelisekDavid_20201209_1925/myoLeftEmg.csv"
|
|
|
|
file4_subject4_left = "/Exp20201205_2myo_hardTypePP/KelisekDavid_20201209_1935/myoLeftEmg.csv"
|
|
|
|
subject4_left_files = [file1_subject4_left, file2_subject4_left, file3_subject4_left, file4_subject4_left]
|
|
|
|
file1_subject4_rigth = "/Exp20201205_2myo_hardTypePP/KelisekDavid_20201209_1900/myoRightEmg.csv"
|
|
|
|
file2_subject4_rigth = "/Exp20201205_2myo_hardTypePP/KelisekDavid_20201209_1915/myoRightEmg.csv"
|
|
|
|
file3_subject4_rigth = "/Exp20201205_2myo_hardTypePP/KelisekDavid_20201209_1925/myoRightEmg.csv"
|
|
|
|
file4_subject4_rigth = "/Exp20201205_2myo_hardTypePP/KelisekDavid_20201209_1935/myoRightEmg.csv"
|
|
|
|
subject4_right_files = [file1_subject4_rigth, file2_subject4_rigth, file3_subject4_rigth, file4_subject4_rigth]
|
|
|
|
|
|
|
|
|
|
|
|
# CSV data from subject 5
|
|
|
|
file1_subject5_left = "/Exp20201205_2myo_hardTypePP/KelisekRichard_20201209_2030/myoLeftEmg.csv"
|
|
|
|
file2_subject5_left = "/Exp20201205_2myo_hardTypePP/KelisekRichard_20201209_2040/myoLeftEmg.csv"
|
|
|
|
file3_subject5_left = "/Exp20201205_2myo_hardTypePP/KelisekRichard_20201209_2050/myoLeftEmg.csv"
|
|
|
|
file4_subject5_left = "/Exp20201205_2myo_hardTypePP/KelisekRichard_20201209_2100/myoLeftEmg.csv"
|
|
|
|
subject5_left_files = [file1_subject5_left, file2_subject5_left, file3_subject5_left, file4_subject5_left]
|
|
|
|
file1_subject5_rigth = "/Exp20201205_2myo_hardTypePP/KelisekRichard_20201209_2030/myoRightEmg.csv"
|
|
|
|
file2_subject5_rigth = "/Exp20201205_2myo_hardTypePP/KelisekRichard_20201209_2040/myoRightEmg.csv"
|
|
|
|
file3_subject5_rigth = "/Exp20201205_2myo_hardTypePP/KelisekRichard_20201209_2050/myoRightEmg.csv"
|
|
|
|
file4_subject5_rigth = "/Exp20201205_2myo_hardTypePP/KelisekRichard_20201209_2100/myoRightEmg.csv"
|
|
|
|
subject5_right_files = [file1_subject5_rigth, file2_subject5_rigth, file3_subject5_rigth, file4_subject5_rigth]
|
|
|
|
|
|
|
|
left_list = [subject1_left_files, subject2_left_files, subject3_left_files, subject4_left_files, subject5_left_files]
|
|
|
|
right_list = [subject1_right_files, subject2_right_files, subject3_right_files, subject4_right_files, subject5_right_files]
|
|
|
|
|
|
|
|
|
2021-06-25 09:09:36 +00:00
|
|
|
subject1_data_container = Data_container(1, 'HaluskaMarek')
|
|
|
|
subject2_data_container = Data_container(2, 'HaluskaMaros')
|
|
|
|
subject3_data_container = Data_container(3, 'HaluskovaBeata')
|
|
|
|
subject4_data_container = Data_container(4, 'KelisekDavid')
|
|
|
|
subject5_data_container = Data_container(5, 'KelisekRichard')
|
|
|
|
subject_data_container_list = [subject1_data_container, subject2_data_container, subject3_data_container,
|
|
|
|
subject4_data_container, subject5_data_container]
|
|
|
|
|
|
|
|
for subject_nr in range(5):
|
|
|
|
data_container = subject_data_container_list[subject_nr]
|
|
|
|
# left variant proccessed here
|
|
|
|
for round in range(4):
|
|
|
|
for emg_nr in range(8):
|
|
|
|
filename = left_list[subject_nr][round]
|
|
|
|
self.store_df_in_container(filename, emg_nr, 'left', data_container, round+1)
|
|
|
|
# right variant proccessed here
|
|
|
|
for round in range(4):
|
|
|
|
for emg_nr in range(8):
|
|
|
|
filename = right_list[subject_nr][round]
|
|
|
|
self.store_df_in_container(filename, emg_nr, 'right', data_container, round+1)
|
|
|
|
# Links the stored data in the data_container to the Handler
|
|
|
|
self.link_container_to_handler(data_container)
|
2021-06-25 11:41:57 +00:00
|
|
|
self.data_type = 'hardPP'
|
2021-06-25 09:09:36 +00:00
|
|
|
return self.data_container_dict
|
|
|
|
|
|
|
|
def load_soft_PP_emg_data(self):
|
|
|
|
|
|
|
|
# CSV data from subject 1
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject1_left = "/Exp20201205_2myo_softTypePP/HaluskaMarek_20201207_1910/myoLeftEmg.csv"
|
|
|
|
file2_subject1_left = "/Exp20201205_2myo_softTypePP/HaluskaMarek_20201207_1920/myoLeftEmg.csv"
|
|
|
|
file3_subject1_left = "/Exp20201205_2myo_softTypePP/HaluskaMarek_20201207_1935/myoLeftEmg.csv"
|
|
|
|
file4_subject1_left = "/Exp20201205_2myo_softTypePP/HaluskaMarek_20201207_1945/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject1_left_files = [file1_subject1_left, file2_subject1_left, file3_subject1_left, file4_subject1_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject1_rigth = "/Exp20201205_2myo_softTypePP/HaluskaMarek_20201207_1910/myoRightEmg.csv"
|
|
|
|
file2_subject1_rigth = "/Exp20201205_2myo_softTypePP/HaluskaMarek_20201207_1920/myoRightEmg.csv"
|
|
|
|
file3_subject1_rigth = "/Exp20201205_2myo_softTypePP/HaluskaMarek_20201207_1935/myoRightEmg.csv"
|
|
|
|
file4_subject1_rigth = "/Exp20201205_2myo_softTypePP/HaluskaMarek_20201207_1945/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject1_right_files = [file1_subject1_rigth, file2_subject1_rigth, file3_subject1_rigth, file4_subject1_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 2
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject2_left = "/Exp20201205_2myo_softTypePP/HaluskaMaros_20201205_2055/myoLeftEmg.csv"
|
|
|
|
file2_subject2_left = "/Exp20201205_2myo_softTypePP/HaluskaMaros_20201205_2110/myoLeftEmg.csv"
|
|
|
|
file3_subject2_left = "/Exp20201205_2myo_softTypePP/HaluskaMaros_20201205_2125/myoLeftEmg.csv"
|
|
|
|
file4_subject2_left = "/Exp20201205_2myo_softTypePP/HaluskaMaros_20201205_2145/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject2_left_files = [file1_subject2_left, file2_subject2_left, file3_subject2_left, file4_subject2_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject2_rigth = "/Exp20201205_2myo_softTypePP/HaluskaMaros_20201205_2055/myoRightEmg.csv"
|
|
|
|
file2_subject2_rigth = "/Exp20201205_2myo_softTypePP/HaluskaMaros_20201205_2110/myoRightEmg.csv"
|
|
|
|
file3_subject2_rigth = "/Exp20201205_2myo_softTypePP/HaluskaMaros_20201205_2125/myoRightEmg.csv"
|
|
|
|
file4_subject2_rigth = "/Exp20201205_2myo_softTypePP/HaluskaMaros_20201205_2145/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject2_right_files = [file1_subject2_rigth, file2_subject2_rigth, file3_subject2_rigth, file4_subject2_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 3
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject3_left = "/Exp20201205_2myo_softTypePP/HaluskovaBeata_20201205_1745/myoLeftEmg.csv"
|
|
|
|
file2_subject3_left = "/Exp20201205_2myo_softTypePP/HaluskovaBeata_20201205_1755/myoLeftEmg.csv"
|
|
|
|
file3_subject3_left = "/Exp20201205_2myo_softTypePP/HaluskovaBeata_20201205_1810/myoLeftEmg.csv"
|
|
|
|
file4_subject3_left = "/Exp20201205_2myo_softTypePP/HaluskovaBeata_20201205_1825/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject3_left_files = [file1_subject3_left, file2_subject3_left, file3_subject3_left, file4_subject3_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject3_rigth = "/Exp20201205_2myo_softTypePP/HaluskovaBeata_20201205_1745/myoRightEmg.csv"
|
|
|
|
file2_subject3_rigth = "/Exp20201205_2myo_softTypePP/HaluskovaBeata_20201205_1755/myoRightEmg.csv"
|
|
|
|
file3_subject3_rigth = "/Exp20201205_2myo_softTypePP/HaluskovaBeata_20201205_1810/myoRightEmg.csv"
|
|
|
|
file4_subject3_rigth = "/Exp20201205_2myo_softTypePP/HaluskovaBeata_20201205_1825/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject3_right_files = [file1_subject3_rigth, file2_subject3_rigth, file3_subject3_rigth, file4_subject3_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 4
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject4_left = "/Exp20201205_2myo_softTypePP/KelisekDavid_20201209_1945/myoLeftEmg.csv"
|
|
|
|
file2_subject4_left = "/Exp20201205_2myo_softTypePP/KelisekDavid_20201209_1955/myoLeftEmg.csv"
|
|
|
|
file3_subject4_left = "/Exp20201205_2myo_softTypePP/KelisekDavid_20201209_2010/myoLeftEmg.csv"
|
|
|
|
file4_subject4_left = "/Exp20201205_2myo_softTypePP/KelisekDavid_20201209_2025/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject4_left_files = [file1_subject4_left, file2_subject4_left, file3_subject4_left, file4_subject4_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject4_rigth = "/Exp20201205_2myo_softTypePP/KelisekDavid_20201209_1945/myoRightEmg.csv"
|
|
|
|
file2_subject4_rigth = "/Exp20201205_2myo_softTypePP/KelisekDavid_20201209_1955/myoRightEmg.csv"
|
|
|
|
file3_subject4_rigth = "/Exp20201205_2myo_softTypePP/KelisekDavid_20201209_2010/myoRightEmg.csv"
|
|
|
|
file4_subject4_rigth = "/Exp20201205_2myo_softTypePP/KelisekDavid_20201209_2025/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject4_right_files = [file1_subject4_rigth, file2_subject4_rigth, file3_subject4_rigth, file4_subject4_rigth]
|
|
|
|
|
|
|
|
|
|
|
|
# CSV data from subject 5
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject5_left = "/Exp20201205_2myo_softTypePP/KelisekRichard_20201209_2110/myoLeftEmg.csv"
|
|
|
|
file2_subject5_left = "/Exp20201205_2myo_softTypePP/KelisekRichard_20201209_2120/myoLeftEmg.csv"
|
|
|
|
file3_subject5_left = "/Exp20201205_2myo_softTypePP/KelisekRichard_20201209_2130/myoLeftEmg.csv"
|
|
|
|
file4_subject5_left = "/Exp20201205_2myo_softTypePP/KelisekRichard_20201209_2140/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject5_left_files = [file1_subject5_left, file2_subject5_left, file3_subject5_left, file4_subject5_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject5_rigth = "/Exp20201205_2myo_softTypePP/KelisekRichard_20201209_2110/myoRightEmg.csv"
|
|
|
|
file2_subject5_rigth = "/Exp20201205_2myo_softTypePP/KelisekRichard_20201209_2120/myoRightEmg.csv"
|
|
|
|
file3_subject5_rigth = "/Exp20201205_2myo_softTypePP/KelisekRichard_20201209_2130/myoRightEmg.csv"
|
|
|
|
file4_subject5_rigth = "/Exp20201205_2myo_softTypePP/KelisekRichard_20201209_2140/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject5_right_files = [file1_subject5_rigth, file2_subject5_rigth, file3_subject5_rigth, file4_subject5_rigth]
|
|
|
|
|
|
|
|
left_list = [subject1_left_files, subject2_left_files, subject3_left_files, subject4_left_files, subject5_left_files]
|
|
|
|
right_list = [subject1_right_files, subject2_right_files, subject3_right_files, subject4_right_files, subject5_right_files]
|
|
|
|
|
|
|
|
|
2021-06-25 07:29:23 +00:00
|
|
|
subject1_data_container = Data_container(1, 'HaluskaMarek')
|
2021-06-25 08:52:33 +00:00
|
|
|
subject2_data_container = Data_container(2, 'HaluskaMaros')
|
|
|
|
subject3_data_container = Data_container(3, 'HaluskovaBeata')
|
|
|
|
subject4_data_container = Data_container(4, 'KelisekDavid')
|
|
|
|
subject5_data_container = Data_container(5, 'KelisekRichard')
|
2021-06-25 07:29:23 +00:00
|
|
|
subject_data_container_list = [subject1_data_container, subject2_data_container, subject3_data_container,
|
|
|
|
subject4_data_container, subject5_data_container]
|
|
|
|
|
|
|
|
for subject_nr in range(5):
|
2021-06-25 08:52:33 +00:00
|
|
|
data_container = subject_data_container_list[subject_nr]
|
2021-06-25 07:29:23 +00:00
|
|
|
# left variant proccessed here
|
|
|
|
for round in range(4):
|
|
|
|
for emg_nr in range(8):
|
2021-06-25 08:52:33 +00:00
|
|
|
filename = left_list[subject_nr][round]
|
|
|
|
self.store_df_in_container(filename, emg_nr, 'left', data_container, round+1)
|
2021-06-25 07:29:23 +00:00
|
|
|
# right variant proccessed here
|
|
|
|
for round in range(4):
|
|
|
|
for emg_nr in range(8):
|
2021-06-25 08:52:33 +00:00
|
|
|
filename = right_list[subject_nr][round]
|
2021-06-25 09:01:01 +00:00
|
|
|
self.store_df_in_container(filename, emg_nr, 'right', data_container, round+1)
|
2021-06-25 08:52:33 +00:00
|
|
|
# Links the stored data in the data_container to the Handler
|
|
|
|
self.link_container_to_handler(data_container)
|
2021-06-25 11:41:57 +00:00
|
|
|
self.data_type = 'softPP'
|
2021-06-25 07:29:23 +00:00
|
|
|
return self.data_container_dict
|
|
|
|
|
|
|
|
def load_hard_original_emg_data(self):
|
|
|
|
|
|
|
|
# CSV data from subject 1
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject1_left = "/Exp20201205_2myo_hardType/HaluskaMarek_20201207_1810/myoLeftEmg.csv"
|
|
|
|
file2_subject1_left = "/Exp20201205_2myo_hardType/HaluskaMarek_20201207_1830/myoLeftEmg.csv"
|
|
|
|
file3_subject1_left = "/Exp20201205_2myo_hardType/HaluskaMarek_20201207_1845/myoLeftEmg.csv"
|
|
|
|
file4_subject1_left = "/Exp20201205_2myo_hardType/HaluskaMarek_20201207_1855/myoLeftEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject1_left_files = [file1_subject1_left, file2_subject1_left, file3_subject1_left, file4_subject1_left]
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject1_rigth = "/Exp20201205_2myo_hardType/HaluskaMarek_20201207_1810/myoRightEmg.csv"
|
|
|
|
file2_subject1_rigth = "/Exp20201205_2myo_hardType/HaluskaMarek_20201207_1830/myoRightEmg.csv"
|
|
|
|
file3_subject1_rigth = "/Exp20201205_2myo_hardType/HaluskaMarek_20201207_1845/myoRightEmg.csv"
|
|
|
|
file4_subject1_rigth = "/Exp20201205_2myo_hardType/HaluskaMarek_20201207_1855/myoRightEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject1_right_files = [file1_subject1_rigth, file2_subject1_rigth, file3_subject1_rigth, file4_subject1_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 2
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject2_left = "/Exp20201205_2myo_hardType/HaluskaMaros_20201205_2010/myoLeftEmg.csv"
|
|
|
|
file2_subject2_left = "/Exp20201205_2myo_hardType/HaluskaMaros_20201205_2025/myoLeftEmg.csv"
|
|
|
|
file3_subject2_left = "/Exp20201205_2myo_hardType/HaluskaMaros_20201205_2035/myoLeftEmg.csv"
|
|
|
|
file4_subject2_left = "/Exp20201205_2myo_hardType/HaluskaMaros_20201205_2045/myoLeftEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject2_left_files = [file1_subject2_left, file2_subject2_left, file3_subject2_left, file4_subject2_left]
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject2_rigth = "/Exp20201205_2myo_hardType/HaluskaMaros_20201205_2010/myoRightEmg.csv"
|
|
|
|
file2_subject2_rigth = "/Exp20201205_2myo_hardType/HaluskaMaros_20201205_2025/myoRightEmg.csv"
|
|
|
|
file3_subject2_rigth = "/Exp20201205_2myo_hardType/HaluskaMaros_20201205_2035/myoRightEmg.csv"
|
|
|
|
file4_subject2_rigth = "/Exp20201205_2myo_hardType/HaluskaMaros_20201205_2045/myoRightEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject2_right_files = [file1_subject2_rigth, file2_subject2_rigth, file3_subject2_rigth, file4_subject2_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 3
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject3_left = "/Exp20201205_2myo_hardType/HaluskovaBeata_20201205_1700/myoLeftEmg.csv"
|
|
|
|
file2_subject3_left = "/Exp20201205_2myo_hardType/HaluskovaBeata_20201205_1715/myoLeftEmg.csv"
|
|
|
|
file3_subject3_left = "/Exp20201205_2myo_hardType/HaluskovaBeata_20201205_1725/myoLeftEmg.csv"
|
|
|
|
file4_subject3_left = "/Exp20201205_2myo_hardType/HaluskovaBeata_20201205_1735/myoLeftEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject3_left_files = [file1_subject3_left, file2_subject3_left, file3_subject3_left, file4_subject3_left]
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject3_rigth = "/Exp20201205_2myo_hardType/HaluskovaBeata_20201205_1700/myoRightEmg.csv"
|
|
|
|
file2_subject3_rigth = "/Exp20201205_2myo_hardType/HaluskovaBeata_20201205_1715/myoRightEmg.csv"
|
|
|
|
file3_subject3_rigth = "/Exp20201205_2myo_hardType/HaluskovaBeata_20201205_1725/myoRightEmg.csv"
|
|
|
|
file4_subject3_rigth = "/Exp20201205_2myo_hardType/HaluskovaBeata_20201205_1735/myoRightEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject3_right_files = [file1_subject3_rigth, file2_subject3_rigth, file3_subject3_rigth, file4_subject3_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 4
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject4_left = "/Exp20201205_2myo_hardType/KelisekDavid_20201209_1900/myoLeftEmg.csv"
|
|
|
|
file2_subject4_left = "/Exp20201205_2myo_hardType/KelisekDavid_20201209_1915/myoLeftEmg.csv"
|
|
|
|
file3_subject4_left = "/Exp20201205_2myo_hardType/KelisekDavid_20201209_1925/myoLeftEmg.csv"
|
|
|
|
file4_subject4_left = "/Exp20201205_2myo_hardType/KelisekDavid_20201209_1935/myoLeftEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject4_left_files = [file1_subject4_left, file2_subject4_left, file3_subject4_left, file4_subject4_left]
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject4_rigth = "/Exp20201205_2myo_hardType/KelisekDavid_20201209_1900/myoRightEmg.csv"
|
|
|
|
file2_subject4_rigth = "/Exp20201205_2myo_hardType/KelisekDavid_20201209_1915/myoRightEmg.csv"
|
|
|
|
file3_subject4_rigth = "/Exp20201205_2myo_hardType/KelisekDavid_20201209_1925/myoRightEmg.csv"
|
|
|
|
file4_subject4_rigth = "/Exp20201205_2myo_hardType/KelisekDavid_20201209_1935/myoRightEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject4_right_files = [file1_subject4_rigth, file2_subject4_rigth, file3_subject4_rigth, file4_subject4_rigth]
|
|
|
|
|
|
|
|
|
|
|
|
# CSV data from subject 5
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject5_left = "/Exp20201205_2myo_hardType/KelisekRichard_20201209_2030/myoLeftEmg.csv"
|
|
|
|
file2_subject5_left = "/Exp20201205_2myo_hardType/KelisekRichard_20201209_2040/myoLeftEmg.csv"
|
|
|
|
file3_subject5_left = "/Exp20201205_2myo_hardType/KelisekRichard_20201209_2050/myoLeftEmg.csv"
|
|
|
|
file4_subject5_left = "/Exp20201205_2myo_hardType/KelisekRichard_20201209_2100/myoLeftEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject5_left_files = [file1_subject5_left, file2_subject5_left, file3_subject5_left, file4_subject5_left]
|
2021-06-25 07:37:49 +00:00
|
|
|
file1_subject5_rigth = "/Exp20201205_2myo_hardType/KelisekRichard_20201209_2030/myoRightEmg.csv"
|
|
|
|
file2_subject5_rigth = "/Exp20201205_2myo_hardType/KelisekRichard_20201209_2040/myoRightEmg.csv"
|
|
|
|
file3_subject5_rigth = "/Exp20201205_2myo_hardType/KelisekRichard_20201209_2050/myoRightEmg.csv"
|
|
|
|
file4_subject5_rigth = "/Exp20201205_2myo_hardType/KelisekRichard_20201209_2100/myoRightEmg.csv"
|
2021-06-25 07:29:23 +00:00
|
|
|
subject5_right_files = [file1_subject5_rigth, file2_subject5_rigth, file3_subject5_rigth, file4_subject5_rigth]
|
|
|
|
|
|
|
|
left_list = [subject1_left_files, subject2_left_files, subject3_left_files, subject4_left_files, subject5_left_files]
|
|
|
|
right_list = [subject1_right_files, subject2_right_files, subject3_right_files, subject4_right_files, subject5_right_files]
|
|
|
|
|
|
|
|
|
|
|
|
subject1_data_container = Data_container(1, 'HaluskaMarek')
|
2021-06-25 09:09:36 +00:00
|
|
|
subject2_data_container = Data_container(2, 'HaluskaMaros')
|
|
|
|
subject3_data_container = Data_container(3, 'HaluskovaBeata')
|
|
|
|
subject4_data_container = Data_container(4, 'KelisekDavid')
|
|
|
|
subject5_data_container = Data_container(5, 'KelisekRichard')
|
2021-06-25 07:29:23 +00:00
|
|
|
subject_data_container_list = [subject1_data_container, subject2_data_container, subject3_data_container,
|
|
|
|
subject4_data_container, subject5_data_container]
|
|
|
|
|
|
|
|
for subject_nr in range(5):
|
2021-06-25 09:09:36 +00:00
|
|
|
data_container = subject_data_container_list[subject_nr]
|
2021-06-25 07:29:23 +00:00
|
|
|
# left variant proccessed here
|
|
|
|
for round in range(4):
|
|
|
|
for emg_nr in range(8):
|
2021-06-25 09:09:36 +00:00
|
|
|
filename = left_list[subject_nr][round]
|
|
|
|
self.store_df_in_container(filename, emg_nr, 'left', data_container, round+1)
|
2021-06-25 07:29:23 +00:00
|
|
|
# right variant proccessed here
|
|
|
|
for round in range(4):
|
|
|
|
for emg_nr in range(8):
|
2021-06-25 09:09:36 +00:00
|
|
|
filename = right_list[subject_nr][round]
|
|
|
|
self.store_df_in_container(filename, emg_nr, 'right', data_container, round+1)
|
|
|
|
# Links the stored data in the data_container to the Handler
|
|
|
|
self.link_container_to_handler(data_container)
|
2021-06-25 11:41:57 +00:00
|
|
|
self.data_type = 'hard'
|
2021-06-25 07:29:23 +00:00
|
|
|
return self.data_container_dict
|
|
|
|
|
2021-06-25 09:09:36 +00:00
|
|
|
def load_soft_original_emg_data(self):
|
|
|
|
|
|
|
|
# CSV data from subject 1
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject1_left = "/Exp20201205_2myo_softType/HaluskaMarek_20201207_1910/myoLeftEmg.csv"
|
|
|
|
file2_subject1_left = "/Exp20201205_2myo_softType/HaluskaMarek_20201207_1920/myoLeftEmg.csv"
|
|
|
|
file3_subject1_left = "/Exp20201205_2myo_softType/HaluskaMarek_20201207_1935/myoLeftEmg.csv"
|
|
|
|
file4_subject1_left = "/Exp20201205_2myo_softType/HaluskaMarek_20201207_1945/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject1_left_files = [file1_subject1_left, file2_subject1_left, file3_subject1_left, file4_subject1_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject1_rigth = "/Exp20201205_2myo_softType/HaluskaMarek_20201207_1910/myoRightEmg.csv"
|
|
|
|
file2_subject1_rigth = "/Exp20201205_2myo_softType/HaluskaMarek_20201207_1920/myoRightEmg.csv"
|
|
|
|
file3_subject1_rigth = "/Exp20201205_2myo_softType/HaluskaMarek_20201207_1935/myoRightEmg.csv"
|
|
|
|
file4_subject1_rigth = "/Exp20201205_2myo_softType/HaluskaMarek_20201207_1945/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject1_right_files = [file1_subject1_rigth, file2_subject1_rigth, file3_subject1_rigth, file4_subject1_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 2
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject2_left = "/Exp20201205_2myo_softType/HaluskaMaros_20201205_2055/myoLeftEmg.csv"
|
|
|
|
file2_subject2_left = "/Exp20201205_2myo_softType/HaluskaMaros_20201205_2110/myoLeftEmg.csv"
|
|
|
|
file3_subject2_left = "/Exp20201205_2myo_softType/HaluskaMaros_20201205_2125/myoLeftEmg.csv"
|
|
|
|
file4_subject2_left = "/Exp20201205_2myo_softType/HaluskaMaros_20201205_2145/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject2_left_files = [file1_subject2_left, file2_subject2_left, file3_subject2_left, file4_subject2_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject2_rigth = "/Exp20201205_2myo_softType/HaluskaMaros_20201205_2055/myoRightEmg.csv"
|
|
|
|
file2_subject2_rigth = "/Exp20201205_2myo_softType/HaluskaMaros_20201205_2110/myoRightEmg.csv"
|
|
|
|
file3_subject2_rigth = "/Exp20201205_2myo_softType/HaluskaMaros_20201205_2125/myoRightEmg.csv"
|
|
|
|
file4_subject2_rigth = "/Exp20201205_2myo_softType/HaluskaMaros_20201205_2145/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject2_right_files = [file1_subject2_rigth, file2_subject2_rigth, file3_subject2_rigth, file4_subject2_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 3
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject3_left = "/Exp20201205_2myo_softType/HaluskovaBeata_20201205_1745/myoLeftEmg.csv"
|
|
|
|
file2_subject3_left = "/Exp20201205_2myo_softType/HaluskovaBeata_20201205_1755/myoLeftEmg.csv"
|
|
|
|
file3_subject3_left = "/Exp20201205_2myo_softType/HaluskovaBeata_20201205_1810/myoLeftEmg.csv"
|
|
|
|
file4_subject3_left = "/Exp20201205_2myo_softType/HaluskovaBeata_20201205_1825/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject3_left_files = [file1_subject3_left, file2_subject3_left, file3_subject3_left, file4_subject3_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject3_rigth = "/Exp20201205_2myo_softType/HaluskovaBeata_20201205_1745/myoRightEmg.csv"
|
|
|
|
file2_subject3_rigth = "/Exp20201205_2myo_softType/HaluskovaBeata_20201205_1755/myoRightEmg.csv"
|
|
|
|
file3_subject3_rigth = "/Exp20201205_2myo_softType/HaluskovaBeata_20201205_1810/myoRightEmg.csv"
|
|
|
|
file4_subject3_rigth = "/Exp20201205_2myo_softType/HaluskovaBeata_20201205_1825/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject3_right_files = [file1_subject3_rigth, file2_subject3_rigth, file3_subject3_rigth, file4_subject3_rigth]
|
|
|
|
|
|
|
|
# CSV data from subject 4
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject4_left = "/Exp20201205_2myo_softType/KelisekDavid_20201209_1945/myoLeftEmg.csv"
|
|
|
|
file2_subject4_left = "/Exp20201205_2myo_softType/KelisekDavid_20201209_1955/myoLeftEmg.csv"
|
|
|
|
file3_subject4_left = "/Exp20201205_2myo_softType/KelisekDavid_20201209_2010/myoLeftEmg.csv"
|
|
|
|
file4_subject4_left = "/Exp20201205_2myo_softType/KelisekDavid_20201209_2025/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject4_left_files = [file1_subject4_left, file2_subject4_left, file3_subject4_left, file4_subject4_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject4_rigth = "/Exp20201205_2myo_softType/KelisekDavid_20201209_1945/myoRightEmg.csv"
|
|
|
|
file2_subject4_rigth = "/Exp20201205_2myo_softType/KelisekDavid_20201209_1955/myoRightEmg.csv"
|
|
|
|
file3_subject4_rigth = "/Exp20201205_2myo_softType/KelisekDavid_20201209_2010/myoRightEmg.csv"
|
|
|
|
file4_subject4_rigth = "/Exp20201205_2myo_softType/KelisekDavid_20201209_2025/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject4_right_files = [file1_subject4_rigth, file2_subject4_rigth, file3_subject4_rigth, file4_subject4_rigth]
|
|
|
|
|
|
|
|
|
|
|
|
# CSV data from subject 5
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject5_left = "/Exp20201205_2myo_softType/KelisekRichard_20201209_2110/myoLeftEmg.csv"
|
|
|
|
file2_subject5_left = "/Exp20201205_2myo_softType/KelisekRichard_20201209_2120/myoLeftEmg.csv"
|
|
|
|
file3_subject5_left = "/Exp20201205_2myo_softType/KelisekRichard_20201209_2130/myoLeftEmg.csv"
|
|
|
|
file4_subject5_left = "/Exp20201205_2myo_softType/KelisekRichard_20201209_2140/myoLeftEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject5_left_files = [file1_subject5_left, file2_subject5_left, file3_subject5_left, file4_subject5_left]
|
2021-06-25 09:31:44 +00:00
|
|
|
file1_subject5_rigth = "/Exp20201205_2myo_softType/KelisekRichard_20201209_2110/myoRightEmg.csv"
|
|
|
|
file2_subject5_rigth = "/Exp20201205_2myo_softType/KelisekRichard_20201209_2120/myoRightEmg.csv"
|
|
|
|
file3_subject5_rigth = "/Exp20201205_2myo_softType/KelisekRichard_20201209_2130/myoRightEmg.csv"
|
|
|
|
file4_subject5_rigth = "/Exp20201205_2myo_softType/KelisekRichard_20201209_2140/myoRightEmg.csv"
|
2021-06-25 09:09:36 +00:00
|
|
|
subject5_right_files = [file1_subject5_rigth, file2_subject5_rigth, file3_subject5_rigth, file4_subject5_rigth]
|
|
|
|
|
|
|
|
left_list = [subject1_left_files, subject2_left_files, subject3_left_files, subject4_left_files, subject5_left_files]
|
|
|
|
right_list = [subject1_right_files, subject2_right_files, subject3_right_files, subject4_right_files, subject5_right_files]
|
|
|
|
|
|
|
|
|
|
|
|
subject1_data_container = Data_container(1, 'HaluskaMarek')
|
|
|
|
subject2_data_container = Data_container(2, 'HaluskaMaros')
|
|
|
|
subject3_data_container = Data_container(3, 'HaluskovaBeata')
|
|
|
|
subject4_data_container = Data_container(4, 'KelisekDavid')
|
|
|
|
subject5_data_container = Data_container(5, 'KelisekRichard')
|
|
|
|
subject_data_container_list = [subject1_data_container, subject2_data_container, subject3_data_container,
|
|
|
|
subject4_data_container, subject5_data_container]
|
|
|
|
|
|
|
|
for subject_nr in range(5):
|
|
|
|
data_container = subject_data_container_list[subject_nr]
|
|
|
|
# left variant proccessed here
|
|
|
|
for round in range(4):
|
|
|
|
for emg_nr in range(8):
|
|
|
|
filename = left_list[subject_nr][round]
|
|
|
|
self.store_df_in_container(filename, emg_nr, 'left', data_container, round+1)
|
|
|
|
# right variant proccessed here
|
|
|
|
for round in range(4):
|
|
|
|
for emg_nr in range(8):
|
|
|
|
filename = right_list[subject_nr][round]
|
|
|
|
self.store_df_in_container(filename, emg_nr, 'right', data_container, round+1)
|
|
|
|
# Links the stored data in the data_container to the Handler
|
|
|
|
self.link_container_to_handler(data_container)
|
2021-06-25 11:41:57 +00:00
|
|
|
self.data_type = 'soft'
|
2021-06-25 09:09:36 +00:00
|
|
|
return self.data_container_dict
|
2021-06-25 07:29:23 +00:00
|
|
|
|
2021-06-25 12:00:25 +00:00
|
|
|
# Retrieves df via the data_dict in the handler object
|
2021-06-25 11:57:28 +00:00
|
|
|
def get_df_from_data_dict(self, subject_nr, which_arm, round, emg_nr):
|
|
|
|
data_type = self.data_type
|
|
|
|
container = self.data_container_dict.get(subject_nr)
|
2021-06-25 13:28:20 +00:00
|
|
|
df = container.dict_list[round - 1].get(which_arm)[emg_nr - 1]
|
2021-06-25 11:57:28 +00:00
|
|
|
return df
|
|
|
|
|
2021-06-29 09:42:37 +00:00
|
|
|
'''
|
|
|
|
def get_keyboard_data(self, filename:str, pres_or_release:str='pressed'):
|
|
|
|
filepath = self.working_dir + str(filename)
|
|
|
|
df = pd.read_csv(filepath)
|
|
|
|
if pres_or_release == 'pressed':
|
|
|
|
df = df[(df['event'] == 'KeyPressed') and (df['event'] == 'KeyPressed')]
|
|
|
|
else
|
|
|
|
'''
|
2021-06-25 11:57:28 +00:00
|
|
|
|
2021-06-30 12:53:44 +00:00
|
|
|
class DL_data_handler:
|
|
|
|
|
2021-06-30 13:42:18 +00:00
|
|
|
def __init__(self, csv_handler:CSV_handler) -> None:
|
|
|
|
self.csv_handler = csv_handler
|
2021-06-30 13:35:39 +00:00
|
|
|
self.samples_per_subject = {1: [], # Should med 4 sessions * split nr of samples per person
|
|
|
|
2: [],
|
|
|
|
3: [],
|
|
|
|
4: [],
|
|
|
|
5: []
|
|
|
|
}
|
|
|
|
|
2021-06-30 13:42:18 +00:00
|
|
|
def get_emg_list(self, subject_nr, session_nr) -> list:
|
2021-06-30 13:35:39 +00:00
|
|
|
list_of_emgs = []
|
|
|
|
for emg_nr in range(8):
|
2021-06-30 13:42:18 +00:00
|
|
|
df, _ = get_data(self.csv_handler, subject_nr, 'left', session_nr)
|
2021-06-30 13:35:39 +00:00
|
|
|
list_of_emgs.append(df)
|
|
|
|
for emg_nr in range(8):
|
2021-06-30 13:42:18 +00:00
|
|
|
df, _ = get_data(self.csv_handler, subject_nr, 'right', session_nr)
|
2021-06-30 13:35:39 +00:00
|
|
|
list_of_emgs.append(df)
|
|
|
|
return list_of_emgs
|
|
|
|
|
|
|
|
def make_subj_sample(list_of_emgs):
|
|
|
|
starting_point:DataFrame = list_of_emgs[0].rename(columns={'emg1':'emg'})
|
2021-06-30 12:53:44 +00:00
|
|
|
print(starting_point)
|
|
|
|
|
2021-06-30 13:35:39 +00:00
|
|
|
tot_session_df:DataFrame = None
|
2021-06-30 12:53:44 +00:00
|
|
|
|
2021-06-30 13:35:39 +00:00
|
|
|
left_nr_remaining = len(list_of_emgs) - 1
|
2021-06-30 12:53:44 +00:00
|
|
|
for i in range(left_nr_remaining):
|
|
|
|
i += 1
|
|
|
|
emg_str = get_emg_str(i)
|
2021-06-30 13:35:39 +00:00
|
|
|
list_of_emgs[i].rename(columns={emg_str: 'emg'}, inplace=True)
|
2021-06-30 13:42:18 +00:00
|
|
|
starting_point.append(list_of_emgs[i])
|
2021-06-30 13:35:39 +00:00
|
|
|
return tot_session_df
|
2021-06-30 12:53:44 +00:00
|
|
|
|
2021-06-30 13:42:18 +00:00
|
|
|
def store_samples(self, split_nr) -> None:
|
2021-06-30 13:35:39 +00:00
|
|
|
for subject_nr in range(5):
|
|
|
|
subj_samples = []
|
|
|
|
#session_df_list = []
|
|
|
|
for session_nr in range(4):
|
2021-06-30 13:42:18 +00:00
|
|
|
list_of_emg = self.get_emg_list(self.csv_handler, subject_nr, session_nr)
|
2021-06-30 13:35:39 +00:00
|
|
|
tot_session_df = self.make_subj_sample(list_of_emg)
|
|
|
|
#session_df_list.append(tot_session_df)
|
|
|
|
samples = np.array_split(tot_session_df, split_nr)
|
|
|
|
for array in samples:
|
|
|
|
subj_samples.append(DataFrame(array))
|
|
|
|
|
|
|
|
self.samples_per_subject[subject_nr] = subj_samples
|
2021-06-30 12:53:44 +00:00
|
|
|
|
|
|
|
|
2021-06-28 18:32:00 +00:00
|
|
|
# HELP FUNCTIONS: ------------------------------------------------------------------------:
|
|
|
|
|
2021-06-25 09:31:44 +00:00
|
|
|
# Help: gets the str from emg nr
|
2021-06-23 13:56:35 +00:00
|
|
|
def get_emg_str(emg_nr):
|
|
|
|
return 'emg' + str(emg_nr)
|
2021-06-22 19:00:51 +00:00
|
|
|
|
2021-06-25 09:31:44 +00:00
|
|
|
# Help: gets the min/max of a df
|
2021-06-23 13:56:35 +00:00
|
|
|
def get_min_max_timestamp(df:DataFrame):
|
2021-06-24 08:10:28 +00:00
|
|
|
min = int(np.floor(df['timestamp'].min()))
|
2021-06-24 10:02:49 +00:00
|
|
|
max = df['timestamp'].max()
|
2021-06-23 13:56:35 +00:00
|
|
|
return min, max
|
2021-06-22 18:31:16 +00:00
|
|
|
|
2021-06-25 12:27:51 +00:00
|
|
|
# Help: returns df_time_emg
|
|
|
|
def make_df_from_xandy(x, y, emg_nr):
|
2021-06-25 12:44:28 +00:00
|
|
|
dict = {'timestamp': x, get_emg_str(emg_nr): y}
|
|
|
|
df = DataFrame(dict)
|
|
|
|
#print(df)
|
2021-06-25 12:27:51 +00:00
|
|
|
return df
|
2021-06-22 13:32:51 +00:00
|
|
|
|
2021-06-28 13:22:10 +00:00
|
|
|
# Help: returns the samplerate of a df
|
|
|
|
def get_samplerate(df:DataFrame):
|
|
|
|
min, max = get_min_max_timestamp(df)
|
|
|
|
#print(min, max)
|
|
|
|
seconds = max - 60 - min
|
|
|
|
#print(seconds)
|
|
|
|
samples = len(df['timestamp'])
|
|
|
|
#print(samples)
|
|
|
|
samplerate = samples / seconds
|
|
|
|
return samplerate
|