diff --git a/response_discriminability.py b/response_discriminability.py index 4e08050..a25f8a9 100644 --- a/response_discriminability.py +++ b/response_discriminability.py @@ -234,7 +234,7 @@ def get_chirp_metadata(block): return trial_duration, dt, chirp_size, chirp_duration, chirp_times -def foreign_fish_detection_beat(block_map, df, all_contrasts, all_conditions, kernel_width=0.0005, cell_name=""): +def foreign_fish_detection_beat(block_map, df, all_contrasts, all_conditions, kernel_width=0.0005, cell_name="", store_roc=False): detection_performances = [] for contrast in all_contrasts: @@ -285,12 +285,15 @@ def foreign_fish_detection_beat(block_map, df, all_contrasts, all_conditions, ke score = np.hstack((valid_distances_baseline, valid_distances_comparison)) fpr, tpr, _ = roc_curve(group, score, pos_label=1) auc = roc_auc_score(group, score) - detection_performances.append({"cell": cell_name, "detection_task": "beat", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc, "true_positives": tpr, "false_positives": fpr}) + if store_roc: + detection_performances.append({"cell": cell_name, "detection_task": "beat", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc, "true_positives": tpr, "false_positives": fpr}) + else: + detection_performances.append({"cell": cell_name, "detection_task": "beat", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc}) print("\n") return detection_performances -def foreign_fish_detection_chirp(block_map, df, all_contrasts, all_conditions, kernel_width=0.0005, cell_name=""): +def foreign_fish_detection_chirp(block_map, df, all_contrasts, all_conditions, kernel_width=0.0005, cell_name="", store_roc=False): detection_performances = [] for contrast in all_contrasts: @@ -361,13 +364,18 @@ def foreign_fish_detection_chirp(block_map, df, all_contrasts, all_conditions, k score = np.hstack((valid_no_other_distances, valid_self_vs_alone_distances)) fpr, tpr, _ = roc_curve(group, score, pos_label=1) auc = roc_auc_score(group, score) - detection_performances.append({"cell": cell_name, "detection_task": "self vs soliloquy", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc, "true_positives": tpr, "false_positives": fpr}) - + if store_roc: + detection_performances.append({"cell": cell_name, "detection_task": "self vs soliloquy", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc, "true_positives": tpr, "false_positives": fpr}) + else: + detection_performances.append({"cell": cell_name, "detection_task": "self vs soliloquy", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc}) group = np.hstack((baseline_temp, other_vs_baseline_temp)) score = np.hstack((valid_baseline_distances, valid_other_vs_baseline_distances)) fpr, tpr, _ = roc_curve(group, score, pos_label=1) auc = roc_auc_score(group, score) - detection_performances.append({"cell": cell_name, "detection_task": "other vs quietness", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc, "true_positives": tpr, "false_positives": fpr}) + if store_roc: + detection_performances.append({"cell": cell_name, "detection_task": "other vs quietness", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc, "true_positives": tpr, "false_positives": fpr}) + else: + detection_performances.append({"cell": cell_name, "detection_task": "other vs quietness", "contrast": contrast, "df": df, "kernel_width": kernel_width, "auc": auc}) print("\n") return detection_performances @@ -414,7 +422,7 @@ def plot_detection_results(data_frame, df, kernel_width, cell): auc_ax.set_xlabel("contrast [%]") auc_ax.set_ylim([0.25, 1.0]) auc_ax.set_ylabel("discriminability") - auc_ax.legend(ncol=2, fontsize=6) + auc_ax.legend(ncol=2, fontsize=6, handletextpad=0.4, columnspacing=1.0, labelspacing=0.25) auc_ax.plot([min(contrasts), max(contrasts)], [0.5, 0.5], lw=0.5, ls"--",) fig.savefig("discrimination.pdf")