import csv # mask_included = eye0_df['pupil_timestamp'].between(trial_start, trial_end) # trial_data_eye0 = eye0_df.loc[mask_included] all_labels = annotations_pd_frame['label'] label_names = list(all_labels) # all_trials = len(all_labels) # creates new column and fills with None eye0_high_conf_df["trial"] = None eye1_high_conf_df["trial"] = None # all_trial_labels = None all_indices = annotations_pd_frame['index'] # index_names = list(all_indices) groups = annotations_pd_frame.groupby("label").timestamp.agg(["min", "max"]) for label in label_names: # trial_label = annotations_pd_frame['label'].loc[annotations_pd_frame['index'] == index] # trial_data = annotations_pd_frame[annotations_pd_frame.label == str(trial_label)] trial_label = label trial_start_timestamp = groups['min'].loc[trial_label] trial_end_timestamp = groups['max'].loc[trial_label] trial_boolean_mask_eye0 = eye0_high_conf_df['pupil_timestamp'].between(trial_start_timestamp,trial_end_timestamp) trial_boolean_mask_eye1 = eye1_high_conf_df['pupil_timestamp'].between(trial_start_timestamp,trial_end_timestamp) eye0_high_conf_df["trial"].loc[trial_boolean_mask_eye0] = trial_label eye1_high_conf_df["trial"].loc[trial_boolean_mask_eye1] = trial_label mask_trial_not_available_eye0 = eye0_high_conf_df["trial"].isna() mask_trial_not_available_eye1 = eye1_high_conf_df["trial"].isna() mask_trial_available_eye0 = ~mask_trial_not_available_eye0 mask_trial_available_eye1 = ~mask_trial_not_available_eye1 pupil_data_in_trial_eye0 = eye0_high_conf_df.loc[mask_trial_available_eye0] pupil_data_in_trial_eye1 = eye1_high_conf_df.loc[mask_trial_available_eye1] # pupil_clean = detector_3d_data[detector_3d_data.trial == trial_label] # trial_data_eye0 = pupil_data_in_trial[pupil_data_in_trial.eye_id == 0] # trial_data_eye1 = pupil_data_in_trial[pupil_data_in_trial.eye_id == 1] # data_sequence_eye0 = pupil_data_in_trial_eye0[pupil_data_in_trial_eye0.trial == label] # data_sequence_eye1 = pupil_data_in_trial_eye1[pupil_data_in_trial_eye1.trial == label] label_names = list(dict.fromkeys(label_names)) for label in list(label_names): plt.figure(figsize=(16, 5)) plt.plot(pupil_data_in_trial_eye0['pupil_timestamp'], pupil_data_in_trial_eye0['diameter_3d']) plt.plot(pupil_data_in_trial_eye1['pupil_timestamp'], pupil_data_in_trial_eye1['diameter_3d']) plt.legend(['eye0', 'eye1']) plt.xlabel('Timestamps [s]') plt.ylabel('Diameter [mm]') plt.title('Pupil Diameter in ' + str(label) + ' sequences' )