From 16e4ae7628b90854433508107d78bd439d6fb829 Mon Sep 17 00:00:00 2001 From: Jie Huang Date: Wed, 24 Jun 2026 11:41:38 +0300 Subject: [PATCH 1/3] change tilde to widetilde; bar to overline --- .../tables/ed_category_table_top.csv | 7 ++ .../tables/ed_category_table_top_detailed.csv | 7 ++ .../tables/group_membership_top.json | 86 +++++++++++++++++ .../tables/mmd_category_table_top.csv | 7 ++ .../mmd_category_table_top_detailed.csv | 7 ++ .../tables/radar_stats_top_condensed.csv | 16 ++++ .../tables/radar_stats_top_long.csv | 91 ++++++++++++++++++ .../tables/radar_stats_top_long.md | 92 +++++++++++++++++++ .../tables/radar_stats_top_wide.csv | 16 ++++ .../tables/wd_category_table_top.csv | 7 ++ .../tables/wd_category_table_top_detailed.csv | 7 ++ .../visualiseEvaluateMeanInRadar.py | 4 +- 12 files changed, 345 insertions(+), 2 deletions(-) create mode 100644 results/meanInRadar/tables/ed_category_table_top.csv create mode 100644 results/meanInRadar/tables/ed_category_table_top_detailed.csv create mode 100644 results/meanInRadar/tables/group_membership_top.json create mode 100644 results/meanInRadar/tables/mmd_category_table_top.csv create mode 100644 results/meanInRadar/tables/mmd_category_table_top_detailed.csv create mode 100644 results/meanInRadar/tables/radar_stats_top_condensed.csv create mode 100644 results/meanInRadar/tables/radar_stats_top_long.csv create mode 100644 results/meanInRadar/tables/radar_stats_top_long.md create mode 100644 results/meanInRadar/tables/radar_stats_top_wide.csv create mode 100644 results/meanInRadar/tables/wd_category_table_top.csv create mode 100644 results/meanInRadar/tables/wd_category_table_top_detailed.csv diff --git a/results/meanInRadar/tables/ed_category_table_top.csv b/results/meanInRadar/tables/ed_category_table_top.csv new file mode 100644 index 00000000..1eeda15b --- /dev/null +++ b/results/meanInRadar/tables/ed_category_table_top.csv @@ -0,0 +1,7 @@ +ED score,latex category,number of model replicas,$d_{\mathrm{OO}}$,$d_{\mathrm{OH}}$,$\theta_{\mathrm{HOH}}$,$\theta_{\mathrm{ZOH}}$,"$(d_{\mathrm{O_d}\mathrm{O_a}}, \theta_{\mathrm{O_d}\mathrm{H}\mathrm{O_a}})$","$(S_k, S_g)$" +Pure,$F_{\mathcal{U}}(\mathcal{V})$,11,0.275599 +/- 0.031741,0.576532 +/- 0.066782,0.359159 +/- 0.058150,0.561244 +/- 0.039572,0.289474 +/- 0.066207,0.637434 +/- 0.066332 +Handcrafted,$F_{\overline{\mathcal{V}}}(\mathcal{V})$,11,0.250668 +/- 0.044479,0.600431 +/- 0.042217,0.498077 +/- 0.044695,0.582750 +/- 0.043586,0.362176 +/- 0.050520,0.589816 +/- 0.032142 +Style translated (L20L1),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,0.501403 +/- 0.044059,0.739899 +/- 0.026731,0.456786 +/- 0.039028,0.726704 +/- 0.037023,0.771469 +/- 0.037032,0.647663 +/- 0.062463 +Style translated (L10L10),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,0.433481 +/- 0.052406,0.703684 +/- 0.036449,0.575560 +/- 0.059645,0.564036 +/- 0.066593,0.735751 +/- 0.039150,0.595637 +/- 0.068111 +Hybrid (L20L1),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,10,0.569767 +/- 0.019648,0.801374 +/- 0.033699,0.643962 +/- 0.053991,0.613493 +/- 0.041923,0.880770 +/- 0.023119,0.673267 +/- 0.058428 +Hybrid (L10L10),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,11,0.512158 +/- 0.033083,0.796943 +/- 0.032596,0.690493 +/- 0.045397,0.641599 +/- 0.029290,0.866532 +/- 0.027714,0.695373 +/- 0.056797 diff --git a/results/meanInRadar/tables/ed_category_table_top_detailed.csv b/results/meanInRadar/tables/ed_category_table_top_detailed.csv new file mode 100644 index 00000000..65bf00a1 --- /dev/null +++ b/results/meanInRadar/tables/ed_category_table_top_detailed.csv @@ -0,0 +1,7 @@ +ED score,latex category,number of model replicas,$d_{\mathrm{OO}}$,$d_{\mathrm{OH}}$,$\theta_{\mathrm{HOH}}$,$\theta_{\mathrm{ZOH}}$,"$(d_{\mathrm{O_d}\mathrm{O_a}}, \theta_{\mathrm{O_d}\mathrm{H}\mathrm{O_a}})$","$(S_k, S_g)$" +Pure,$F_{\mathcal{U}}(\mathcal{V})$,11,"(0.014862 +/- 0.000592), (0.275599 +/- 0.031741)","(0.022186 +/- 0.001060), (0.576532 +/- 0.066782)","(0.026211 +/- 0.000796), (0.359159 +/- 0.058150)","(0.041248 +/- 0.003119), (0.561244 +/- 0.039572)","(0.106086 +/- 0.008836), (0.289474 +/- 0.066207)","(0.251196 +/- 0.010884), (0.637434 +/- 0.066332)" +Handcrafted,$F_{\overline{\mathcal{V}}}(\mathcal{V})$,11,"(0.015327 +/- 0.000830), (0.250668 +/- 0.044479)","(0.021806 +/- 0.000670), (0.600431 +/- 0.042217)","(0.024309 +/- 0.000612), (0.498077 +/- 0.044695)","(0.039553 +/- 0.003436), (0.582750 +/- 0.043586)","(0.096383 +/- 0.006742), (0.362176 +/- 0.050520)","(0.259010 +/- 0.005274), (0.589816 +/- 0.032142)" +Style translated (L20L1),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,"(0.010650 +/- 0.000822), (0.501403 +/- 0.044059)","(0.019592 +/- 0.000424), (0.739899 +/- 0.026731)","(0.024874 +/- 0.000534), (0.456786 +/- 0.039028)","(0.028206 +/- 0.002918), (0.726704 +/- 0.037023)","(0.041762 +/- 0.004942), (0.771469 +/- 0.037032)","(0.249518 +/- 0.010249), (0.647663 +/- 0.062463)" +Style translated (L10L10),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,"(0.011917 +/- 0.000977), (0.433481 +/- 0.052406)","(0.020167 +/- 0.000579), (0.703684 +/- 0.036449)","(0.023248 +/- 0.000816), (0.575560 +/- 0.059645)","(0.041028 +/- 0.005249), (0.564036 +/- 0.066593)","(0.046529 +/- 0.005225), (0.735751 +/- 0.039150)","(0.258055 +/- 0.011176), (0.595637 +/- 0.068111)" +Hybrid (L20L1),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,10,"(0.009375 +/- 0.000366), (0.569767 +/- 0.019648)","(0.018616 +/- 0.000535), (0.801374 +/- 0.033699)","(0.022312 +/- 0.000739), (0.643962 +/- 0.053991)","(0.037130 +/- 0.003305), (0.613493 +/- 0.041923)","(0.027176 +/- 0.003085), (0.880770 +/- 0.023119)","(0.245317 +/- 0.009587), (0.673267 +/- 0.058428)" +Hybrid (L10L10),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,11,"(0.010450 +/- 0.000617), (0.512158 +/- 0.033083)","(0.018686 +/- 0.000518), (0.796943 +/- 0.032596)","(0.021675 +/- 0.000621), (0.690493 +/- 0.045397)","(0.034914 +/- 0.002309), (0.641599 +/- 0.029290)","(0.029076 +/- 0.003699), (0.866532 +/- 0.027714)","(0.241690 +/- 0.009320), (0.695373 +/- 0.056797)" diff --git a/results/meanInRadar/tables/group_membership_top.json b/results/meanInRadar/tables/group_membership_top.json new file mode 100644 index 00000000..3e4ee09b --- /dev/null +++ b/results/meanInRadar/tables/group_membership_top.json @@ -0,0 +1,86 @@ +{ + "Ref": { + "pattern": "^Ref(_C\\d+)?$", + "matched_structures": [ + "Ref_C0", + "Ref", + "Ref_C2", + "Ref_C6", + "Ref_C8", + "Ref_C1", + "Ref_C4", + "Ref_C7", + "Ref_C5", + "Ref_C3", + "Ref_C9" + ], + "n_structures": 11 + }, + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only": { + "pattern": "^PPAFM2Exp_CoAll_L20_L1_Elatest_Only(_C\\d+)?$", + "matched_structures": [ + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C6", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C8", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C4", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C7", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C1", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C9", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C5", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C0", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C3", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C10", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only_C2" + ], + "n_structures": 11 + }, + "PPAFM2Exp_CoAll_L20_L1_Elatest": { + "pattern": "^PPAFM2Exp_CoAll_L20_L1_Elatest(_C\\d+)?$", + "matched_structures": [ + "PPAFM2Exp_CoAll_L20_L1_Elatest_C3", + "PPAFM2Exp_CoAll_L20_L1_Elatest_C9", + "PPAFM2Exp_CoAll_L20_L1_Elatest", + "PPAFM2Exp_CoAll_L20_L1_Elatest_C2", + "PPAFM2Exp_CoAll_L20_L1_Elatest_C4", + "PPAFM2Exp_CoAll_L20_L1_Elatest_C8", + "PPAFM2Exp_CoAll_L20_L1_Elatest_C0", + "PPAFM2Exp_CoAll_L20_L1_Elatest_C7", + "PPAFM2Exp_CoAll_L20_L1_Elatest_C1", + "PPAFM2Exp_CoAll_L20_L1_Elatest_C5" + ], + "n_structures": 10 + }, + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only": { + "pattern": "^PPAFM2Exp_CoAll_L10_L10_Elatest_Only(_C\\d+)?$", + "matched_structures": [ + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C9", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C7", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C5", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C3", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C4", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C8", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C2", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C1", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C10", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C0", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only_C6" + ], + "n_structures": 11 + }, + "PPAFM2Exp_CoAll_L10_L10_Elatest": { + "pattern": "^PPAFM2Exp_CoAll_L10_L10_Elatest(_C\\d+)?$", + "matched_structures": [ + "PPAFM2Exp_CoAll_L10_L10_Elatest_C1", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C5", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C6", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C2", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C3", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C7", + "PPAFM2Exp_CoAll_L10_L10_Elatest", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C4", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C8", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C0", + "PPAFM2Exp_CoAll_L10_L10_Elatest_C9" + ], + "n_structures": 11 + } +} \ No newline at end of file diff --git a/results/meanInRadar/tables/mmd_category_table_top.csv b/results/meanInRadar/tables/mmd_category_table_top.csv new file mode 100644 index 00000000..fb8833c0 --- /dev/null +++ b/results/meanInRadar/tables/mmd_category_table_top.csv @@ -0,0 +1,7 @@ +MMD score,latex category,number of model replicas,$d_{\mathrm{OO}}$,$d_{\mathrm{OH}}$,$\theta_{\mathrm{HOH}}$,$\theta_{\mathrm{ZOH}}$,"$(d_{\mathrm{O_d}\mathrm{O_a}}, \theta_{\mathrm{O_d}\mathrm{H}\mathrm{O_a}})$","$(S_k, S_g)$" +Pure,$F_{\mathcal{U}}(\mathcal{V})$,11,0.134016 +/- 0.018592,0.693685 +/- 0.061712,0.299984 +/- 0.065944,0.446540 +/- 0.035260,0.196940 +/- 0.052068,0.480083 +/- 0.079647 +Handcrafted,$F_{\overline{\mathcal{V}}}(\mathcal{V})$,11,0.149388 +/- 0.027545,0.760671 +/- 0.036710,0.615092 +/- 0.072449,0.471537 +/- 0.039159,0.289909 +/- 0.031952,0.384053 +/- 0.038761 +Style translated (L20L1),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,0.331504 +/- 0.036543,0.727202 +/- 0.038545,0.424245 +/- 0.060947,0.589496 +/- 0.043429,0.704940 +/- 0.040222,0.437882 +/- 0.050752 +Style translated (L10L10),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,0.300993 +/- 0.040128,0.719908 +/- 0.031362,0.495177 +/- 0.063986,0.454049 +/- 0.068748,0.640641 +/- 0.045170,0.425757 +/- 0.078091 +Hybrid (L20L1),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,10,0.397052 +/- 0.013552,0.826062 +/- 0.035707,0.608789 +/- 0.060362,0.493610 +/- 0.042111,0.837969 +/- 0.025832,0.403592 +/- 0.054114 +Hybrid (L10L10),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,11,0.377345 +/- 0.024576,0.825804 +/- 0.035850,0.672892 +/- 0.063560,0.515562 +/- 0.029586,0.799642 +/- 0.033428,0.472028 +/- 0.057574 diff --git a/results/meanInRadar/tables/mmd_category_table_top_detailed.csv b/results/meanInRadar/tables/mmd_category_table_top_detailed.csv new file mode 100644 index 00000000..5718b170 --- /dev/null +++ b/results/meanInRadar/tables/mmd_category_table_top_detailed.csv @@ -0,0 +1,7 @@ +MMD score,latex category,number of model replicas,$d_{\mathrm{OO}}$,$d_{\mathrm{OH}}$,$\theta_{\mathrm{HOH}}$,$\theta_{\mathrm{ZOH}}$,"$(d_{\mathrm{O_d}\mathrm{O_a}}, \theta_{\mathrm{O_d}\mathrm{H}\mathrm{O_a}})$","$(S_k, S_g)$" +Pure,$F_{\mathcal{U}}(\mathcal{V})$,11,"(0.381706 +/- 0.004799), (0.134016 +/- 0.018592)","(0.636832 +/- 0.007012), (0.693685 +/- 0.061712)","(0.709318 +/- 0.005983), (0.299984 +/- 0.065944)","(0.224151 +/- 0.008761), (0.446540 +/- 0.035260)","(0.483717 +/- 0.019009), (0.196940 +/- 0.052068)","(0.631027 +/- 0.014678), (0.480083 +/- 0.079647)" +Handcrafted,$F_{\overline{\mathcal{V}}}(\mathcal{V})$,11,"(0.377738 +/- 0.007110), (0.149388 +/- 0.027545)","(0.629221 +/- 0.004171), (0.760671 +/- 0.036710)","(0.680731 +/- 0.006573), (0.615092 +/- 0.072449)","(0.217940 +/- 0.009730), (0.471537 +/- 0.039159)","(0.449777 +/- 0.011665), (0.289909 +/- 0.031952)","(0.648725 +/- 0.007143), (0.384053 +/- 0.038761)" +Style translated (L20L1),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,"(0.330730 +/- 0.009433), (0.331504 +/- 0.036543)","(0.633024 +/- 0.004380), (0.727202 +/- 0.038545)","(0.698045 +/- 0.005529), (0.424245 +/- 0.060947)","(0.188631 +/- 0.010791), (0.589496 +/- 0.043429)","(0.298260 +/- 0.014684), (0.704940 +/- 0.040222)","(0.638805 +/- 0.009353), (0.437882 +/- 0.050752)" +Style translated (L10L10),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,"(0.338605 +/- 0.010358), (0.300993 +/- 0.040128)","(0.633852 +/- 0.003563), (0.719908 +/- 0.031362)","(0.691610 +/- 0.005805), (0.495177 +/- 0.063986)","(0.222285 +/- 0.017082), (0.454049 +/- 0.068748)","(0.321734 +/- 0.016490), (0.640641 +/- 0.045170)","(0.641039 +/- 0.014392), (0.425757 +/- 0.078091)" +Hybrid (L20L1),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,10,"(0.313810 +/- 0.003498), (0.397052 +/- 0.013552)","(0.621791 +/- 0.004057), (0.826062 +/- 0.035707)","(0.681303 +/- 0.005476), (0.608789 +/- 0.060362)","(0.212456 +/- 0.010463), (0.493610 +/- 0.042111)","(0.249695 +/- 0.009430), (0.837969 +/- 0.025832)","(0.645124 +/- 0.009973), (0.403592 +/- 0.054114)" +Hybrid (L10L10),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,11,"(0.318897 +/- 0.006344), (0.377345 +/- 0.024576)","(0.621820 +/- 0.004073), (0.825804 +/- 0.035850)","(0.675487 +/- 0.005766), (0.672892 +/- 0.063560)","(0.207001 +/- 0.007351), (0.515562 +/- 0.029586)","(0.263687 +/- 0.012204), (0.799642 +/- 0.033428)","(0.632512 +/- 0.010611), (0.472028 +/- 0.057574)" diff --git a/results/meanInRadar/tables/radar_stats_top_condensed.csv b/results/meanInRadar/tables/radar_stats_top_condensed.csv new file mode 100644 index 00000000..89603ad4 --- /dev/null +++ b/results/meanInRadar/tables/radar_stats_top_condensed.csv @@ -0,0 +1,16 @@ +group,metric,HOH,Hbond,OH,OO,OrderP,ZOH,n_HOH,n_Hbond,n_OH,n_OO,n_OrderP,n_ZOH +PPAFM2Exp_CoAll_L10_L10_Elatest,ED,0.021675 +/- 0.000621,0.029076 +/- 0.003699,0.018686 +/- 0.000518,0.010450 +/- 0.000617,0.241690 +/- 0.009320,0.034914 +/- 0.002309,11,11,11,11,11,11 +PPAFM2Exp_CoAll_L10_L10_Elatest,MMD,0.675487 +/- 0.005766,0.263687 +/- 0.012204,0.621820 +/- 0.004073,0.318897 +/- 0.006344,0.632512 +/- 0.010611,0.207001 +/- 0.007351,11,11,11,11,11,11 +PPAFM2Exp_CoAll_L10_L10_Elatest,WD,0.051522 +/- 0.001139,0.048406 +/- 0.004120,0.040573 +/- 0.000645,0.032041 +/- 0.001239,0.245997 +/- 0.007683,0.118144 +/- 0.003839,11,11,11,11,11,11 +PPAFM2Exp_CoAll_L10_L10_Elatest_Only,ED,0.023248 +/- 0.000816,0.046529 +/- 0.005225,0.020167 +/- 0.000579,0.011917 +/- 0.000977,0.258055 +/- 0.011176,0.041028 +/- 0.005249,11,11,11,11,11,11 +PPAFM2Exp_CoAll_L10_L10_Elatest_Only,MMD,0.691610 +/- 0.005805,0.321734 +/- 0.016490,0.633852 +/- 0.003563,0.338605 +/- 0.010358,0.641039 +/- 0.014392,0.222285 +/- 0.017082,11,11,11,11,11,11 +PPAFM2Exp_CoAll_L10_L10_Elatest_Only,WD,0.053425 +/- 0.001647,0.066208 +/- 0.005341,0.042898 +/- 0.000655,0.035385 +/- 0.001791,0.262284 +/- 0.009313,0.125227 +/- 0.008753,11,11,11,11,11,11 +PPAFM2Exp_CoAll_L20_L1_Elatest,ED,0.022312 +/- 0.000739,0.027176 +/- 0.003085,0.018616 +/- 0.000535,0.009375 +/- 0.000366,0.245317 +/- 0.009587,0.037130 +/- 0.003305,10,10,10,10,10,10 +PPAFM2Exp_CoAll_L20_L1_Elatest,MMD,0.681303 +/- 0.005476,0.249695 +/- 0.009430,0.621791 +/- 0.004057,0.313810 +/- 0.003498,0.645124 +/- 0.009973,0.212456 +/- 0.010463,10,10,10,10,10,10 +PPAFM2Exp_CoAll_L20_L1_Elatest,WD,0.052702 +/- 0.001289,0.048966 +/- 0.003328,0.040957 +/- 0.000574,0.031550 +/- 0.001542,0.247171 +/- 0.010070,0.121231 +/- 0.006147,10,10,10,10,10,10 +PPAFM2Exp_CoAll_L20_L1_Elatest_Only,ED,0.024874 +/- 0.000534,0.041762 +/- 0.004942,0.019592 +/- 0.000424,0.010650 +/- 0.000822,0.249518 +/- 0.010249,0.028206 +/- 0.002918,11,11,11,11,11,11 +PPAFM2Exp_CoAll_L20_L1_Elatest_Only,MMD,0.698045 +/- 0.005529,0.298260 +/- 0.014684,0.633024 +/- 0.004380,0.330730 +/- 0.009433,0.638805 +/- 0.009353,0.188631 +/- 0.010791,11,11,11,11,11,11 +PPAFM2Exp_CoAll_L20_L1_Elatest_Only,WD,0.057524 +/- 0.001173,0.064006 +/- 0.005201,0.043411 +/- 0.000550,0.034263 +/- 0.001712,0.253320 +/- 0.010350,0.104814 +/- 0.005701,11,11,11,11,11,11 +Ref,ED,0.024309 +/- 0.000612,0.096383 +/- 0.006742,0.021806 +/- 0.000670,0.015327 +/- 0.000830,0.259010 +/- 0.005274,0.039553 +/- 0.003436,11,11,11,11,11,11 +Ref,MMD,0.680731 +/- 0.006573,0.449777 +/- 0.011665,0.629221 +/- 0.004171,0.377738 +/- 0.007110,0.648725 +/- 0.007143,0.217940 +/- 0.009730,11,11,11,11,11,11 +Ref,WD,0.057553 +/- 0.001144,0.114462 +/- 0.006263,0.044694 +/- 0.000667,0.042481 +/- 0.001066,0.257413 +/- 0.003867,0.120964 +/- 0.006215,11,11,11,11,11,11 diff --git a/results/meanInRadar/tables/radar_stats_top_long.csv b/results/meanInRadar/tables/radar_stats_top_long.csv new file mode 100644 index 00000000..88d98058 --- /dev/null +++ b/results/meanInRadar/tables/radar_stats_top_long.csv @@ -0,0 +1,91 @@ +layer,group,distance_key,metric,property,n,mean,std,sem +Top,Ref,wdistancec_nor,WD,OO,11,0.042481241659697445,0.0035360156633612414,0.0010661488371080806 +Top,Ref,wdistancec_nor,WD,OH,11,0.04469414125018884,0.0022134578632017903,0.0006673826565001954 +Top,Ref,wdistancec_nor,WD,HOH,11,0.05755268589979994,0.0037957247935201835,0.0011444540861414248 +Top,Ref,wdistancec_nor,WD,ZOH,11,0.12096354147219766,0.02061330657048898,0.006215145780261782 +Top,Ref,wdistancec_nor,WD,Hbond,11,0.11446212773973291,0.020771613418908527,0.006262877090984628 +Top,Ref,wdistancec_nor,WD,OrderP,11,0.2574126408858733,0.012824408901192038,0.0038667047712134515 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,wdistancec_nor,WD,OO,11,0.03426253401562478,0.005677121164364217,0.0017117164355983342 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,wdistancec_nor,WD,OH,11,0.043410848767097894,0.001824039888798885,0.0005499687194352262 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,wdistancec_nor,WD,HOH,11,0.05752402791011428,0.003889281543891055,0.0011726625077400725 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,wdistancec_nor,WD,ZOH,11,0.10481442589446856,0.018907318342372168,0.005700770975768445 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,wdistancec_nor,WD,Hbond,11,0.06400576538660309,0.017248345477159636,0.00520057183656019 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,wdistancec_nor,WD,OrderP,11,0.2533200830221176,0.03432772796012159,0.01035019941355595 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,wdistancec_nor,WD,OO,10,0.031550152394393856,0.004877511565484328,0.001542404586074399 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,wdistancec_nor,WD,OH,10,0.04095724178820863,0.00181486830855186,0.000573911750828112 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,wdistancec_nor,WD,HOH,10,0.05270242752880476,0.004074949176570743,0.0012886120747391192 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,wdistancec_nor,WD,ZOH,10,0.12123111534691162,0.01943964441236637,0.006147355324684323 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,wdistancec_nor,WD,Hbond,10,0.048966304212808606,0.010523783922257094,0.003327912679779277 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,wdistancec_nor,WD,OrderP,10,0.2471708297729492,0.03184474798206013,0.010070193513736081 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,wdistancec_nor,WD,OO,11,0.035384589338614394,0.005940696754461505,0.001791187466166445 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,wdistancec_nor,WD,OH,11,0.04289795750883473,0.0021732261297047893,0.0006552523324388203 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,wdistancec_nor,WD,HOH,11,0.05342514690095794,0.005463024367970988,0.00164716382264802 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,wdistancec_nor,WD,ZOH,11,0.12522666799377252,0.02902990626834422,0.008752846071934915 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,wdistancec_nor,WD,Hbond,11,0.06620849872177298,0.017714212347864838,0.00534103598314075 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,wdistancec_nor,WD,OrderP,11,0.26228382370688696,0.030889342131899825,0.00931348707931168 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,wdistancec_nor,WD,OO,11,0.03204091387235946,0.004110895383278439,0.0012394815944308032 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,wdistancec_nor,WD,OH,11,0.04057337632354672,0.002139227036898834,0.0006450012202524726 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,wdistancec_nor,WD,HOH,11,0.05152165980326306,0.0037792592533227305,0.0011394895389772914 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,wdistancec_nor,WD,ZOH,11,0.11814423346789392,0.012733898111384971,0.0038394147412799274 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,wdistancec_nor,WD,Hbond,11,0.04840597713535482,0.013665750434245637,0.004120378788093559 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,wdistancec_nor,WD,OrderP,11,0.2459973625161431,0.025481739879380752,0.0076830336532129105 +Top,Ref,edistancec_nor,ED,OO,11,0.015326649493213142,0.0027512532933498157,0.0008295340797519033 +Top,Ref,edistancec_nor,ED,OH,11,0.021806109463587617,0.002223080755324552,0.0006702840676428561 +Top,Ref,edistancec_nor,ED,HOH,11,0.024308996743274004,0.0020292361979814353,0.0006118377345192515 +Top,Ref,edistancec_nor,ED,ZOH,11,0.03955300861877487,0.011395104969853543,0.0034357534210652982 +Top,Ref,edistancec_nor,ED,Hbond,11,0.0963833882432794,0.022360975915651747,0.0067420879143991475 +Top,Ref,edistancec_nor,ED,OrderP,11,0.2590098852381029,0.017491861054529795,0.0052739945457186965 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,edistancec_nor,ED,OO,11,0.010650441045892821,0.0027253055426715556,0.0008217105385561325 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,edistancec_nor,ED,OH,11,0.019591751811166427,0.0014076416910505786,0.0004244199389523769 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,edistancec_nor,ED,HOH,11,0.024874235321097508,0.0017719321891396121,0.0005342576568481047 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,edistancec_nor,ED,ZOH,11,0.02820563919214444,0.009679327712028023,0.0029184271130623775 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,edistancec_nor,ED,Hbond,11,0.04176203619768944,0.01639083114083033,0.004942021536018832 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,edistancec_nor,ED,OrderP,11,0.24951792314305,0.03399292613306611,0.010249252864513362 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,edistancec_nor,ED,OO,10,0.009375440083210774,0.0011587810100694446,0.0003664387301169954 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,edistancec_nor,ED,OH,10,0.018615708881767657,0.0016919506748193799,0.0005350417821088139 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,edistancec_nor,ED,HOH,10,0.022311952704815684,0.0023371969977798103,0.0007390865853491699 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,edistancec_nor,ED,ZOH,10,0.037129703839061,0.01045011868261961,0.0033046176856156204 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,edistancec_nor,ED,Hbond,10,0.027175587643926025,0.009756376102384163,0.003085237019277008 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,edistancec_nor,ED,OrderP,10,0.24531680856426266,0.030317027804200397,0.009587085974792653 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,edistancec_nor,ED,OO,11,0.0119171867256867,0.0032416114414443825,0.0009773826243085584 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,edistancec_nor,ED,OH,11,0.0201667397415644,0.0019193357005759166,0.0005787014877767485 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,edistancec_nor,ED,HOH,11,0.02324831273989542,0.0027079740683479394,0.0008164849024293039 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,edistancec_nor,ED,ZOH,11,0.041028207743320874,0.01740988425431264,0.00524927761046104 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,edistancec_nor,ED,Hbond,11,0.046528787297849705,0.01732850806951488,0.005224741767566058 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,edistancec_nor,ED,OrderP,11,0.2580547052177222,0.03706675098924691,0.011176045929896985 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,edistancec_nor,ED,OO,11,0.010449867680614094,0.0020463408616199046,0.0006169949846514367 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,edistancec_nor,ED,OH,11,0.018686050653612254,0.001716437734360728,0.0005175254491711134 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,edistancec_nor,ED,HOH,11,0.02167498460948311,0.0020610860795827577,0.0006214408351455088 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,edistancec_nor,ED,ZOH,11,0.03491415662763565,0.007657586604150243,0.002308849233238011 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,edistancec_nor,ED,Hbond,11,0.02907567175856405,0.012266656770738486,0.003698536176419289 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,edistancec_nor,ED,OrderP,11,0.2416895081981292,0.030909589052794888,0.00931959175565431 +Top,Ref,mdistancec_nor,MMD,OO,11,0.3777380371048389,0.023580884911130362,0.007109904315888414 +Top,Ref,mdistancec_nor,MMD,OH,11,0.6292207091627587,0.013833970877818713,0.004171099160220745 +Top,Ref,mdistancec_nor,MMD,HOH,11,0.6807306902414686,0.0217997238354004,0.006572864045035497 +Top,Ref,mdistancec_nor,MMD,ZOH,11,0.21794010225112215,0.032270338631216554,0.009729873190677852 +Top,Ref,mdistancec_nor,MMD,Hbond,11,0.44977681612878123,0.03868803874746528,0.011664882581824874 +Top,Ref,mdistancec_nor,MMD,OrderP,11,0.6487248559815245,0.023691672139567004,0.0071433079220963895 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,mdistancec_nor,MMD,OO,11,0.3307297047834266,0.031284454588295936,0.009432617967299094 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,mdistancec_nor,MMD,OH,11,0.6330235378658642,0.014525383285965284,0.004379567845058767 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,mdistancec_nor,MMD,HOH,11,0.6980450300529001,0.01833855928121427,0.005529283666497941 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,mdistancec_nor,MMD,ZOH,11,0.18863093822383795,0.035788952315417684,0.010790775133651053 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,mdistancec_nor,MMD,Hbond,11,0.2982604117216889,0.04870085182392532,0.014683859315514155 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest_Only,mdistancec_nor,MMD,OrderP,11,0.6388046388943809,0.03102094753267159,0.00935316760065207 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,mdistancec_nor,MMD,OO,10,0.3138101552486602,0.011061592287495807,0.003497982617663883 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,mdistancec_nor,MMD,OH,10,0.6217908751391874,0.012829659788009175,0.004057094653518199 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,mdistancec_nor,MMD,HOH,10,0.6813025396115694,0.017317485419973265,0.005476269727387308 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,mdistancec_nor,MMD,ZOH,10,0.2124556465297356,0.03308782774580087,0.010463289850404556 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,mdistancec_nor,MMD,Hbond,10,0.2496954683472022,0.029821752620516364,0.009430466209892671 +Top,PPAFM2Exp_CoAll_L20_L1_Elatest,mdistancec_nor,MMD,OrderP,10,0.6451239296551358,0.03153700492477996,0.009972876614225183 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,mdistancec_nor,MMD,OO,11,0.3386053293716922,0.0343532101093027,0.010357882570618279 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,mdistancec_nor,MMD,OH,11,0.6338523198138382,0.011818481763528899,0.003563406327389377 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,mdistancec_nor,MMD,HOH,11,0.6916098096534088,0.019252980109710358,0.00580499192000771 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,mdistancec_nor,MMD,ZOH,11,0.22228535951663472,0.056653538028540625,0.017081684426072746 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,mdistancec_nor,MMD,Hbond,11,0.32173448368003577,0.05469212695615404,0.016490296736367756 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest_Only,mdistancec_nor,MMD,OrderP,11,0.6410392194577275,0.04773169962725165,0.014391648933594584 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,mdistancec_nor,MMD,OO,11,0.318897095283908,0.021039742897548393,0.006343721170610268 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,mdistancec_nor,MMD,OH,11,0.6218201662526878,0.013509704890098884,0.004073329286262503 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,mdistancec_nor,MMD,HOH,11,0.6754869481043662,0.019124958753617482,0.005766392028797477 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,mdistancec_nor,MMD,ZOH,11,0.20700136014457413,0.024380964130608487,0.007351137277121991 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,mdistancec_nor,MMD,Hbond,11,0.2636874880292344,0.04047520321499406,0.01220373294341108 +Top,PPAFM2Exp_CoAll_L10_L10_Elatest,mdistancec_nor,MMD,OrderP,11,0.6325118236056245,0.03519105709718465,0.010610502942484994 diff --git a/results/meanInRadar/tables/radar_stats_top_long.md b/results/meanInRadar/tables/radar_stats_top_long.md new file mode 100644 index 00000000..e1ed4da8 --- /dev/null +++ b/results/meanInRadar/tables/radar_stats_top_long.md @@ -0,0 +1,92 @@ +| group | metric | property | n | mean_pm_sem | std | mean | sem | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Ref | WD | OO | 11 | 0.042481 +/- 0.001066 | 0.003536 | 0.042481 | 0.001066 | +| Ref | WD | OH | 11 | 0.044694 +/- 0.000667 | 0.002213 | 0.044694 | 0.000667 | +| Ref | WD | HOH | 11 | 0.057553 +/- 0.001144 | 0.003796 | 0.057553 | 0.001144 | +| Ref | WD | ZOH | 11 | 0.120964 +/- 0.006215 | 0.020613 | 0.120964 | 0.006215 | +| Ref | WD | Hbond | 11 | 0.114462 +/- 0.006263 | 0.020772 | 0.114462 | 0.006263 | +| Ref | WD | OrderP | 11 | 0.257413 +/- 0.003867 | 0.012824 | 0.257413 | 0.003867 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | WD | OO | 11 | 0.034263 +/- 0.001712 | 0.005677 | 0.034263 | 0.001712 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | WD | OH | 11 | 0.043411 +/- 0.000550 | 0.001824 | 0.043411 | 0.000550 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | WD | HOH | 11 | 0.057524 +/- 0.001173 | 0.003889 | 0.057524 | 0.001173 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | WD | ZOH | 11 | 0.104814 +/- 0.005701 | 0.018907 | 0.104814 | 0.005701 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | WD | Hbond | 11 | 0.064006 +/- 0.005201 | 0.017248 | 0.064006 | 0.005201 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | WD | OrderP | 11 | 0.253320 +/- 0.010350 | 0.034328 | 0.253320 | 0.010350 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | WD | OO | 10 | 0.031550 +/- 0.001542 | 0.004878 | 0.031550 | 0.001542 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | WD | OH | 10 | 0.040957 +/- 0.000574 | 0.001815 | 0.040957 | 0.000574 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | WD | HOH | 10 | 0.052702 +/- 0.001289 | 0.004075 | 0.052702 | 0.001289 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | WD | ZOH | 10 | 0.121231 +/- 0.006147 | 0.019440 | 0.121231 | 0.006147 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | WD | Hbond | 10 | 0.048966 +/- 0.003328 | 0.010524 | 0.048966 | 0.003328 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | WD | OrderP | 10 | 0.247171 +/- 0.010070 | 0.031845 | 0.247171 | 0.010070 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | WD | OO | 11 | 0.035385 +/- 0.001791 | 0.005941 | 0.035385 | 0.001791 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | WD | OH | 11 | 0.042898 +/- 0.000655 | 0.002173 | 0.042898 | 0.000655 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | WD | HOH | 11 | 0.053425 +/- 0.001647 | 0.005463 | 0.053425 | 0.001647 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | WD | ZOH | 11 | 0.125227 +/- 0.008753 | 0.029030 | 0.125227 | 0.008753 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | WD | Hbond | 11 | 0.066208 +/- 0.005341 | 0.017714 | 0.066208 | 0.005341 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | WD | OrderP | 11 | 0.262284 +/- 0.009313 | 0.030889 | 0.262284 | 0.009313 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | WD | OO | 11 | 0.032041 +/- 0.001239 | 0.004111 | 0.032041 | 0.001239 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | WD | OH | 11 | 0.040573 +/- 0.000645 | 0.002139 | 0.040573 | 0.000645 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | WD | HOH | 11 | 0.051522 +/- 0.001139 | 0.003779 | 0.051522 | 0.001139 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | WD | ZOH | 11 | 0.118144 +/- 0.003839 | 0.012734 | 0.118144 | 0.003839 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | WD | Hbond | 11 | 0.048406 +/- 0.004120 | 0.013666 | 0.048406 | 0.004120 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | WD | OrderP | 11 | 0.245997 +/- 0.007683 | 0.025482 | 0.245997 | 0.007683 | +| Ref | ED | OO | 11 | 0.015327 +/- 0.000830 | 0.002751 | 0.015327 | 0.000830 | +| Ref | ED | OH | 11 | 0.021806 +/- 0.000670 | 0.002223 | 0.021806 | 0.000670 | +| Ref | ED | HOH | 11 | 0.024309 +/- 0.000612 | 0.002029 | 0.024309 | 0.000612 | +| Ref | ED | ZOH | 11 | 0.039553 +/- 0.003436 | 0.011395 | 0.039553 | 0.003436 | +| Ref | ED | Hbond | 11 | 0.096383 +/- 0.006742 | 0.022361 | 0.096383 | 0.006742 | +| Ref | ED | OrderP | 11 | 0.259010 +/- 0.005274 | 0.017492 | 0.259010 | 0.005274 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | ED | OO | 11 | 0.010650 +/- 0.000822 | 0.002725 | 0.010650 | 0.000822 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | ED | OH | 11 | 0.019592 +/- 0.000424 | 0.001408 | 0.019592 | 0.000424 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | ED | HOH | 11 | 0.024874 +/- 0.000534 | 0.001772 | 0.024874 | 0.000534 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | ED | ZOH | 11 | 0.028206 +/- 0.002918 | 0.009679 | 0.028206 | 0.002918 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | ED | Hbond | 11 | 0.041762 +/- 0.004942 | 0.016391 | 0.041762 | 0.004942 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | ED | OrderP | 11 | 0.249518 +/- 0.010249 | 0.033993 | 0.249518 | 0.010249 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | ED | OO | 10 | 0.009375 +/- 0.000366 | 0.001159 | 0.009375 | 0.000366 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | ED | OH | 10 | 0.018616 +/- 0.000535 | 0.001692 | 0.018616 | 0.000535 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | ED | HOH | 10 | 0.022312 +/- 0.000739 | 0.002337 | 0.022312 | 0.000739 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | ED | ZOH | 10 | 0.037130 +/- 0.003305 | 0.010450 | 0.037130 | 0.003305 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | ED | Hbond | 10 | 0.027176 +/- 0.003085 | 0.009756 | 0.027176 | 0.003085 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | ED | OrderP | 10 | 0.245317 +/- 0.009587 | 0.030317 | 0.245317 | 0.009587 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | ED | OO | 11 | 0.011917 +/- 0.000977 | 0.003242 | 0.011917 | 0.000977 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | ED | OH | 11 | 0.020167 +/- 0.000579 | 0.001919 | 0.020167 | 0.000579 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | ED | HOH | 11 | 0.023248 +/- 0.000816 | 0.002708 | 0.023248 | 0.000816 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | ED | ZOH | 11 | 0.041028 +/- 0.005249 | 0.017410 | 0.041028 | 0.005249 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | ED | Hbond | 11 | 0.046529 +/- 0.005225 | 0.017329 | 0.046529 | 0.005225 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | ED | OrderP | 11 | 0.258055 +/- 0.011176 | 0.037067 | 0.258055 | 0.011176 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | ED | OO | 11 | 0.010450 +/- 0.000617 | 0.002046 | 0.010450 | 0.000617 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | ED | OH | 11 | 0.018686 +/- 0.000518 | 0.001716 | 0.018686 | 0.000518 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | ED | HOH | 11 | 0.021675 +/- 0.000621 | 0.002061 | 0.021675 | 0.000621 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | ED | ZOH | 11 | 0.034914 +/- 0.002309 | 0.007658 | 0.034914 | 0.002309 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | ED | Hbond | 11 | 0.029076 +/- 0.003699 | 0.012267 | 0.029076 | 0.003699 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | ED | OrderP | 11 | 0.241690 +/- 0.009320 | 0.030910 | 0.241690 | 0.009320 | +| Ref | MMD | OO | 11 | 0.377738 +/- 0.007110 | 0.023581 | 0.377738 | 0.007110 | +| Ref | MMD | OH | 11 | 0.629221 +/- 0.004171 | 0.013834 | 0.629221 | 0.004171 | +| Ref | MMD | HOH | 11 | 0.680731 +/- 0.006573 | 0.021800 | 0.680731 | 0.006573 | +| Ref | MMD | ZOH | 11 | 0.217940 +/- 0.009730 | 0.032270 | 0.217940 | 0.009730 | +| Ref | MMD | Hbond | 11 | 0.449777 +/- 0.011665 | 0.038688 | 0.449777 | 0.011665 | +| Ref | MMD | OrderP | 11 | 0.648725 +/- 0.007143 | 0.023692 | 0.648725 | 0.007143 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | MMD | OO | 11 | 0.330730 +/- 0.009433 | 0.031284 | 0.330730 | 0.009433 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | MMD | OH | 11 | 0.633024 +/- 0.004380 | 0.014525 | 0.633024 | 0.004380 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | MMD | HOH | 11 | 0.698045 +/- 0.005529 | 0.018339 | 0.698045 | 0.005529 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | MMD | ZOH | 11 | 0.188631 +/- 0.010791 | 0.035789 | 0.188631 | 0.010791 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | MMD | Hbond | 11 | 0.298260 +/- 0.014684 | 0.048701 | 0.298260 | 0.014684 | +| PPAFM2Exp_CoAll_L20_L1_Elatest_Only | MMD | OrderP | 11 | 0.638805 +/- 0.009353 | 0.031021 | 0.638805 | 0.009353 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | MMD | OO | 10 | 0.313810 +/- 0.003498 | 0.011062 | 0.313810 | 0.003498 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | MMD | OH | 10 | 0.621791 +/- 0.004057 | 0.012830 | 0.621791 | 0.004057 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | MMD | HOH | 10 | 0.681303 +/- 0.005476 | 0.017317 | 0.681303 | 0.005476 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | MMD | ZOH | 10 | 0.212456 +/- 0.010463 | 0.033088 | 0.212456 | 0.010463 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | MMD | Hbond | 10 | 0.249695 +/- 0.009430 | 0.029822 | 0.249695 | 0.009430 | +| PPAFM2Exp_CoAll_L20_L1_Elatest | MMD | OrderP | 10 | 0.645124 +/- 0.009973 | 0.031537 | 0.645124 | 0.009973 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | MMD | OO | 11 | 0.338605 +/- 0.010358 | 0.034353 | 0.338605 | 0.010358 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | MMD | OH | 11 | 0.633852 +/- 0.003563 | 0.011818 | 0.633852 | 0.003563 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | MMD | HOH | 11 | 0.691610 +/- 0.005805 | 0.019253 | 0.691610 | 0.005805 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | MMD | ZOH | 11 | 0.222285 +/- 0.017082 | 0.056654 | 0.222285 | 0.017082 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | MMD | Hbond | 11 | 0.321734 +/- 0.016490 | 0.054692 | 0.321734 | 0.016490 | +| PPAFM2Exp_CoAll_L10_L10_Elatest_Only | MMD | OrderP | 11 | 0.641039 +/- 0.014392 | 0.047732 | 0.641039 | 0.014392 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | MMD | OO | 11 | 0.318897 +/- 0.006344 | 0.021040 | 0.318897 | 0.006344 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | MMD | OH | 11 | 0.621820 +/- 0.004073 | 0.013510 | 0.621820 | 0.004073 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | MMD | HOH | 11 | 0.675487 +/- 0.005766 | 0.019125 | 0.675487 | 0.005766 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | MMD | ZOH | 11 | 0.207001 +/- 0.007351 | 0.024381 | 0.207001 | 0.007351 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | MMD | Hbond | 11 | 0.263687 +/- 0.012204 | 0.040475 | 0.263687 | 0.012204 | +| PPAFM2Exp_CoAll_L10_L10_Elatest | MMD | OrderP | 11 | 0.632512 +/- 0.010611 | 0.035191 | 0.632512 | 0.010611 | diff --git a/results/meanInRadar/tables/radar_stats_top_wide.csv b/results/meanInRadar/tables/radar_stats_top_wide.csv new file mode 100644 index 00000000..8f2bbcaf --- /dev/null +++ b/results/meanInRadar/tables/radar_stats_top_wide.csv @@ -0,0 +1,16 @@ +group,metric,mean_HOH,mean_Hbond,mean_OH,mean_OO,mean_OrderP,mean_ZOH,n_HOH,n_Hbond,n_OH,n_OO,n_OrderP,n_ZOH,sem_HOH,sem_Hbond,sem_OH,sem_OO,sem_OrderP,sem_ZOH +PPAFM2Exp_CoAll_L10_L10_Elatest,ED,0.02167498460948311,0.02907567175856405,0.018686050653612254,0.010449867680614094,0.2416895081981292,0.03491415662763565,11,11,11,11,11,11,0.0006214408351455088,0.003698536176419289,0.0005175254491711134,0.0006169949846514367,0.00931959175565431,0.002308849233238011 +PPAFM2Exp_CoAll_L10_L10_Elatest,MMD,0.6754869481043662,0.2636874880292344,0.6218201662526878,0.318897095283908,0.6325118236056245,0.20700136014457413,11,11,11,11,11,11,0.005766392028797477,0.01220373294341108,0.004073329286262503,0.006343721170610268,0.010610502942484994,0.007351137277121991 +PPAFM2Exp_CoAll_L10_L10_Elatest,WD,0.05152165980326306,0.04840597713535482,0.04057337632354672,0.03204091387235946,0.2459973625161431,0.11814423346789392,11,11,11,11,11,11,0.0011394895389772914,0.004120378788093559,0.0006450012202524726,0.0012394815944308032,0.0076830336532129105,0.0038394147412799274 +PPAFM2Exp_CoAll_L10_L10_Elatest_Only,ED,0.02324831273989542,0.046528787297849705,0.0201667397415644,0.0119171867256867,0.2580547052177222,0.041028207743320874,11,11,11,11,11,11,0.0008164849024293039,0.005224741767566058,0.0005787014877767485,0.0009773826243085584,0.011176045929896985,0.00524927761046104 +PPAFM2Exp_CoAll_L10_L10_Elatest_Only,MMD,0.6916098096534088,0.32173448368003577,0.6338523198138382,0.3386053293716922,0.6410392194577275,0.22228535951663472,11,11,11,11,11,11,0.00580499192000771,0.016490296736367756,0.003563406327389377,0.010357882570618279,0.014391648933594584,0.017081684426072746 +PPAFM2Exp_CoAll_L10_L10_Elatest_Only,WD,0.05342514690095794,0.06620849872177298,0.04289795750883473,0.035384589338614394,0.26228382370688696,0.12522666799377252,11,11,11,11,11,11,0.00164716382264802,0.00534103598314075,0.0006552523324388203,0.001791187466166445,0.00931348707931168,0.008752846071934915 +PPAFM2Exp_CoAll_L20_L1_Elatest,ED,0.022311952704815684,0.027175587643926025,0.018615708881767657,0.009375440083210774,0.24531680856426266,0.037129703839061,10,10,10,10,10,10,0.0007390865853491699,0.003085237019277008,0.0005350417821088139,0.0003664387301169954,0.009587085974792653,0.0033046176856156204 +PPAFM2Exp_CoAll_L20_L1_Elatest,MMD,0.6813025396115694,0.2496954683472022,0.6217908751391874,0.3138101552486602,0.6451239296551358,0.2124556465297356,10,10,10,10,10,10,0.005476269727387308,0.009430466209892671,0.004057094653518199,0.003497982617663883,0.009972876614225183,0.010463289850404556 +PPAFM2Exp_CoAll_L20_L1_Elatest,WD,0.05270242752880476,0.048966304212808606,0.04095724178820863,0.031550152394393856,0.2471708297729492,0.12123111534691162,10,10,10,10,10,10,0.0012886120747391192,0.003327912679779277,0.000573911750828112,0.001542404586074399,0.010070193513736081,0.006147355324684323 +PPAFM2Exp_CoAll_L20_L1_Elatest_Only,ED,0.024874235321097508,0.04176203619768944,0.019591751811166427,0.010650441045892821,0.24951792314305,0.02820563919214444,11,11,11,11,11,11,0.0005342576568481047,0.004942021536018832,0.0004244199389523769,0.0008217105385561325,0.010249252864513362,0.0029184271130623775 +PPAFM2Exp_CoAll_L20_L1_Elatest_Only,MMD,0.6980450300529001,0.2982604117216889,0.6330235378658642,0.3307297047834266,0.6388046388943809,0.18863093822383795,11,11,11,11,11,11,0.005529283666497941,0.014683859315514155,0.004379567845058767,0.009432617967299094,0.00935316760065207,0.010790775133651053 +PPAFM2Exp_CoAll_L20_L1_Elatest_Only,WD,0.05752402791011428,0.06400576538660309,0.043410848767097894,0.03426253401562478,0.2533200830221176,0.10481442589446856,11,11,11,11,11,11,0.0011726625077400725,0.00520057183656019,0.0005499687194352262,0.0017117164355983342,0.01035019941355595,0.005700770975768445 +Ref,ED,0.024308996743274004,0.0963833882432794,0.021806109463587617,0.015326649493213142,0.2590098852381029,0.03955300861877487,11,11,11,11,11,11,0.0006118377345192515,0.0067420879143991475,0.0006702840676428561,0.0008295340797519033,0.0052739945457186965,0.0034357534210652982 +Ref,MMD,0.6807306902414686,0.44977681612878123,0.6292207091627587,0.3777380371048389,0.6487248559815245,0.21794010225112215,11,11,11,11,11,11,0.006572864045035497,0.011664882581824874,0.004171099160220745,0.007109904315888414,0.0071433079220963895,0.009729873190677852 +Ref,WD,0.05755268589979994,0.11446212773973291,0.04469414125018884,0.042481241659697445,0.2574126408858733,0.12096354147219766,11,11,11,11,11,11,0.0011444540861414248,0.006262877090984628,0.0006673826565001954,0.0010661488371080806,0.0038667047712134515,0.006215145780261782 diff --git a/results/meanInRadar/tables/wd_category_table_top.csv b/results/meanInRadar/tables/wd_category_table_top.csv new file mode 100644 index 00000000..edd86938 --- /dev/null +++ b/results/meanInRadar/tables/wd_category_table_top.csv @@ -0,0 +1,7 @@ +WD score,latex category,number of model replicas,$d_{\mathrm{OO}}$,$d_{\mathrm{OH}}$,$\theta_{\mathrm{HOH}}$,$\theta_{\mathrm{ZOH}}$,"$(d_{\mathrm{O_d}\mathrm{O_a}}, \theta_{\mathrm{O_d}\mathrm{H}\mathrm{O_a}})$","$(S_k, S_g)$" +Pure,$F_{\mathcal{U}}(\mathcal{V})$,11,0.253171 +/- 0.034706,0.662503 +/- 0.040391,0.321435 +/- 0.039361,0.434786 +/- 0.038833,0.279645 +/- 0.061220,0.597136 +/- 0.063515 +Handcrafted,$F_{\overline{\mathcal{V}}}(\mathcal{V})$,11,0.208591 +/- 0.027849,0.666324 +/- 0.025474,0.350691 +/- 0.035986,0.464916 +/- 0.046306,0.339818 +/- 0.047413,0.634877 +/- 0.025700 +Style translated (L20L1),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,0.423275 +/- 0.044712,0.715308 +/- 0.020992,0.351592 +/- 0.036873,0.585236 +/- 0.042474,0.721796 +/- 0.039371,0.662078 +/- 0.068793 +Style translated (L10L10),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,0.393965 +/- 0.046788,0.734885 +/- 0.025011,0.480477 +/- 0.051794,0.433153 +/- 0.065214,0.705120 +/- 0.040434,0.602500 +/- 0.061902 +Hybrid (L20L1),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,10,0.494126 +/- 0.040290,0.808963 +/- 0.021906,0.503203 +/- 0.040519,0.462922 +/- 0.045801,0.835652 +/- 0.025194,0.702949 +/- 0.066932 +Hybrid (L10L10),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,11,0.481307 +/- 0.032377,0.823615 +/- 0.024620,0.540331 +/- 0.035830,0.485921 +/- 0.028606,0.839894 +/- 0.031193,0.710749 +/- 0.051066 diff --git a/results/meanInRadar/tables/wd_category_table_top_detailed.csv b/results/meanInRadar/tables/wd_category_table_top_detailed.csv new file mode 100644 index 00000000..62eafe6f --- /dev/null +++ b/results/meanInRadar/tables/wd_category_table_top_detailed.csv @@ -0,0 +1,7 @@ +WD score,latex category,number of model replicas,$d_{\mathrm{OO}}$,$d_{\mathrm{OH}}$,$\theta_{\mathrm{HOH}}$,$\theta_{\mathrm{ZOH}}$,"$(d_{\mathrm{O_d}\mathrm{O_a}}, \theta_{\mathrm{O_d}\mathrm{H}\mathrm{O_a}})$","$(S_k, S_g)$" +Pure,$F_{\mathcal{U}}(\mathcal{V})$,11,"(0.040775 +/- 0.001329), (0.253171 +/- 0.034706)","(0.044794 +/- 0.001058), (0.662503 +/- 0.040391)","(0.058483 +/- 0.001252), (0.321435 +/- 0.039361)","(0.125007 +/- 0.005212), (0.434786 +/- 0.038833)","(0.122411 +/- 0.008087), (0.279645 +/- 0.061220)","(0.263091 +/- 0.009556), (0.597136 +/- 0.063515)" +Handcrafted,$F_{\overline{\mathcal{V}}}(\mathcal{V})$,11,"(0.042481 +/- 0.001066), (0.208591 +/- 0.027849)","(0.044694 +/- 0.000667), (0.666324 +/- 0.025474)","(0.057553 +/- 0.001144), (0.350691 +/- 0.035986)","(0.120964 +/- 0.006215), (0.464916 +/- 0.046306)","(0.114462 +/- 0.006263), (0.339818 +/- 0.047413)","(0.257413 +/- 0.003867), (0.634877 +/- 0.025700)" +Style translated (L20L1),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,"(0.034263 +/- 0.001712), (0.423275 +/- 0.044712)","(0.043411 +/- 0.000550), (0.715308 +/- 0.020992)","(0.057524 +/- 0.001173), (0.351592 +/- 0.036873)","(0.104814 +/- 0.005701), (0.585236 +/- 0.042474)","(0.064006 +/- 0.005201), (0.721796 +/- 0.039371)","(0.253320 +/- 0.010350), (0.662078 +/- 0.068793)" +Style translated (L10L10),$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$,11,"(0.035385 +/- 0.001791), (0.393965 +/- 0.046788)","(0.042898 +/- 0.000655), (0.734885 +/- 0.025011)","(0.053425 +/- 0.001647), (0.480477 +/- 0.051794)","(0.125227 +/- 0.008753), (0.433153 +/- 0.065214)","(0.066208 +/- 0.005341), (0.705120 +/- 0.040434)","(0.262284 +/- 0.009313), (0.602500 +/- 0.061902)" +Hybrid (L20L1),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,10,"(0.031550 +/- 0.001542), (0.494126 +/- 0.040290)","(0.040957 +/- 0.000574), (0.808963 +/- 0.021906)","(0.052702 +/- 0.001289), (0.503203 +/- 0.040519)","(0.121231 +/- 0.006147), (0.462922 +/- 0.045801)","(0.048966 +/- 0.003328), (0.835652 +/- 0.025194)","(0.247171 +/- 0.010070), (0.702949 +/- 0.066932)" +Hybrid (L10L10),$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$,11,"(0.032041 +/- 0.001239), (0.481307 +/- 0.032377)","(0.040573 +/- 0.000645), (0.823615 +/- 0.024620)","(0.051522 +/- 0.001139), (0.540331 +/- 0.035830)","(0.118144 +/- 0.003839), (0.485921 +/- 0.028606)","(0.048406 +/- 0.004120), (0.839894 +/- 0.031193)","(0.245997 +/- 0.007683), (0.710749 +/- 0.051066)" diff --git a/src/performanceEvaluation/visualiseEvaluateMeanInRadar.py b/src/performanceEvaluation/visualiseEvaluateMeanInRadar.py index 86147528..62e90d3a 100755 --- a/src/performanceEvaluation/visualiseEvaluateMeanInRadar.py +++ b/src/performanceEvaluation/visualiseEvaluateMeanInRadar.py @@ -78,11 +78,11 @@ std_values = compare_data[numeric_columns].std() / np.sqrt(compare_data[numeric_columns].count()) if 'Only' in comp_key: # Style translation only - legend = rf'$F_{{\tilde{{\mathcal{{V}}}}}}(\mathcal{{V}})$: Style Translated' + legend = rf'$F_{{\widetilde{{\mathcal{{V}}}}}}(\mathcal{{V}})$: Style Translated' else: if comp_key == 'Ref': # Handcrafted - legend = rf'$F_{{\bar{{\mathcal{{V}}}}}}(\mathcal{{V}})$: Handcrafted' + legend = rf'$F_{{\overline{{\mathcal{{V}}}}}}(\mathcal{{V}})$: Handcrafted' else: # Hybrid legend = rf'$F_{{\mathcal{{V}}^{{\dagger}}}}(\mathcal{{V}})$: Hybrid' From cbc689ca86b604410ab17475283f0c8c38d431a7 Mon Sep 17 00:00:00 2001 From: Jie Huang Date: Wed, 24 Jun 2026 11:42:36 +0300 Subject: [PATCH 2/3] add svg for radar plots --- ..._Elatest_Only_comparision_to_Label_Top.pdf | Bin 240453 -> 267504 bytes ..._Elatest_Only_comparision_to_Label_Top.svg | 3126 +++++++++++++++++ ...0_L10_Elatest_comparision_to_Label_Top.pdf | Bin 271056 -> 271056 bytes ...0_L10_Elatest_comparision_to_Label_Top.svg | 3100 ++++++++++++++++ ..._Elatest_Only_comparision_to_Label_Top.pdf | Bin 240446 -> 267497 bytes ..._Elatest_Only_comparision_to_Label_Top.svg | 3126 +++++++++++++++++ ...20_L1_Elatest_comparision_to_Label_Top.pdf | Bin 271043 -> 271043 bytes ...20_L1_Elatest_comparision_to_Label_Top.svg | 3100 ++++++++++++++++ .../Ref_comparision_to_Label_Top.pdf | Bin 240451 -> 240454 bytes .../Ref_comparision_to_Label_Top.svg | 3056 ++++++++++++++++ 10 files changed, 15508 insertions(+) create mode 100644 results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_Only_comparision_to_Label_Top.svg create mode 100644 results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_comparision_to_Label_Top.svg create mode 100644 results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_Only_comparision_to_Label_Top.svg create mode 100644 results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_comparision_to_Label_Top.svg create mode 100644 results/meanInRadar/Ref_comparision_to_Label_Top.svg diff --git a/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_Only_comparision_to_Label_Top.pdf b/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_Only_comparision_to_Label_Top.pdf index 752eef7e3378b04847e82e6fae32193362f4ccee..3c508e2bd162c7c7127ef20d1a72656dbc5a5fff 100644 GIT binary patch delta 42417 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 delta 15565 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 AQvd(} diff --git a/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_Only_comparision_to_Label_Top.svg b/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_Only_comparision_to_Label_Top.svg new file mode 100644 index 00000000..098617e3 --- /dev/null +++ b/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_Only_comparision_to_Label_Top.svg @@ -0,0 +1,3126 @@ + + + + + + + + 2026-06-24T11:40:30.338127 + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_comparision_to_Label_Top.pdf b/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_comparision_to_Label_Top.pdf index 951174d4d76750be331b2dce86418418031ae39b..ef4466ad969d81806a0f4779f6bb011254651c3b 100644 GIT binary patch delta 33 pcmca`RN%rFEi9+yIL(Yq3=K^TjLo-Skz@J83;@>m3x5Cr delta 33 pcmca`RN%rFEi9+yI86;Lj0}v7jZC&*kz@J83;@>o3w{6q diff --git a/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_comparision_to_Label_Top.svg b/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_comparision_to_Label_Top.svg new file mode 100644 index 00000000..dbaad835 --- /dev/null +++ b/results/meanInRadar/PPAFM2Exp_CoAll_L10_L10_Elatest_comparision_to_Label_Top.svg @@ -0,0 +1,3100 @@ + + + + + + + + 2026-06-24T11:40:37.560777 + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_Only_comparision_to_Label_Top.pdf b/results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_Only_comparision_to_Label_Top.pdf index 79fd2815739be86e2bbc04b3b84cd9864bf11be3..f17cf7fb3c6453a567dc2a9219f3af3362dd3a69 100644 GIT binary patch delta 38976 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 E01pMiLI3~& delta 12043 zcmZvC1z1#D_ct-f&?Via0s=$N0Meb(ND3$+-6b5l1q5}FknR?c25AGNL%O?hWaw}7 z-uwRV>-)`mo;l~Nz4waW+G{_1uXDDFiQ6U!t0K_>)daS_>ipBXG2W=Bry&~NB7h2) ztK3T_myX8m)W#q=?yz;)97EEGChxHC{mz+I3@?``9_g8m_m>nrb3qd}+_E59;;lJI zvB~S}Yd>2DZr1ih+AnsK*V@E)q(so+khc+<|8dH`k3}YXX-S`(IW@2lN~W zZf-1q%l6k{?Uz4qB+X3&{1Hc$7Ux8U&%Hd!ty~-H?)h@GHImA3KjO9cBJ0gDnYcn~ z)tQ<7RlB=+sMOhLGXt48qn+f<_ljZU_$MyVkSH7Gs8IbX^$TgJciUL{#ik+mf$XOSmfHjq1I>cNLI`C%O-*D}X3U}TAR$fm?$Hh^Q{3XL>Yp^y_8CTm zHr`_sW4p5Th@E8?nkWf~`tTcM&`O`zhXB?W|=g?h)^~W3%JFY`ZI{SijMYHjfiqA z^<>=E9$%vsBdfE-@+wTE?0dT6&m{K=dVmYEQB=O4K3HI9{gd&$0~xbbyQN>?Ux>$` zVA)hkEx7XC+UFo1(>CfnoB-bj>)_gF=XvVr<tqZnCCf`(F zI-VgXT?e?^WhKrv2lx;NT#HyQ7wRjd#2RpNvQ}e;!hAAJ59C?C_GZn1|aai7Kl)ErgABpc69!yn(B!tn~p zcw7h@V8ryomNdPRJ7k`C72s?pDiMa@_1t0v_R)4|Cb!LkXQuzRIi8@xB5gG{JI^zv{Lfwny}lW z;hanEC7^!@6`rnQ5c2H2wM(ZMM2-VKc!YKt2v-Moaxe?x{E8csP$12?! z3zJW-&6=%n+iE7w0uZT2$^X#0;EjusyTtUdoDmti2;;Wivu^rS{OU){lr5CD>6t9T z3l0-!Z{qC0S`QTNB^n+OYXGe`!ckeaCC)GzqRdR6gb4qdnz36}*ch5hH88>{5PD|~ zDcM7GVD)@^WucS22cfIVD-G$XY!7!dl)#0MsD*?~y;2!7-RANuyVWmOIndG;oNZpw z-ge$~ye%1c;&-Ox;xFCKG?707H*lW6zUp%}+P2u<3LZ0u-$>DEm;dD;7Zn4^fG z$dg>2$V2w(uAbUyYdLlnI<*W735FcFP@2wX6IYGquDOldLP8le-vz()U&#_tY4Xhp zWqk42_4wFDrDh}4_4INYf43a1>KRa@14#iE5R=9XH#e8iu+#btRb3F4wDd#b+aRn2 z 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 QF+%)8xa{omnhLo85A2>?UH||9 diff --git a/results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_Only_comparision_to_Label_Top.svg b/results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_Only_comparision_to_Label_Top.svg new file mode 100644 index 00000000..49f373c5 --- /dev/null +++ b/results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_Only_comparision_to_Label_Top.svg @@ -0,0 +1,3126 @@ + + + + + + + + 2026-06-24T11:39:42.069860 + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_comparision_to_Label_Top.pdf b/results/meanInRadar/PPAFM2Exp_CoAll_L20_L1_Elatest_comparision_to_Label_Top.pdf index 8c07ea790fd1437d073cbaf33339e720b561fd3b..1d0a02f75b9a4d05127f86c9428601c66d7553b5 100644 GIT binary patch delta 33 pcmX?nRN(MYfrb{w7N!>FEiC)wIL(Yq3=NGfP0Y3*mt*FEiC)wI86;Lj0}v74NSKmmt* + + + + + + + 2026-06-24T11:39:46.178237 + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/results/meanInRadar/Ref_comparision_to_Label_Top.pdf b/results/meanInRadar/Ref_comparision_to_Label_Top.pdf index de4c4cfbbc0901ab7b8022a1f69e2873b2dedc66..31025e93edf76dfdb199f4bd8bc6a10bc1209e80 100644 GIT binary patch delta 14437 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­E_);7_evaEnsaFEent_@d&M~W zoj2i&%@7*%8WNpX+f%43;IBjWN%Q0bfoNETjs-R3FpR|V!neo*hm5Puo;6#21Dd@V z2V!`q6PXF)&)f#=M~l9(Z`BxiMXhr#8s(V+QNlmfd5Ww<`l_nQXL~*NcHSkz^k|d8 zi`ABfkzADyS1(5DRXf(JZ(jwpBp4yGkDqGoJ1Bvhr%-B=Zj;FJSY<3D71!t)eT&`5PU!j zure!$Imo){&r6};)-^^qb_JJ(^!wGGmTmJa)Z4HqIX1mb-m8A^vW1ygMc(ppfLXui z*%P#xx~IM$GYcQH$ss@mTwGSJJjV3f8GE++=w?j13p-}mKy{`?Tg5ZS$doH-*0nv^ zsa2@#FKsADCV3R1Csp=b>plS~bb{0?p%T4f#p`-u;j+ZTCyeu;HSrwvDICg>8X2bQ zQc4qDuQZRmu%FhOAa9M;iJIfEPl$5H)Z#6gX$49kok|+sClT+<=Df_@WR?u77rEV* zs(VcWU4G*7&qQn#d)Bs5MLfU!S+QZW-scD-3ut}j$=?M^kg&s{u6hg5##B#^%fXL{ z-0)+f-rX@#4}MJShSz3rOE!bn#VT6!KKvL+H>jq>Tx_wJjI2$iZ-~U!#$0!X>MhnO zWMkUZjME_*=sjY=eED0Tw*k@=(P`biqYd$um)WIm+A^{zazQxX@xu3>HEcoAPjw8f zon_EkS3LlQOAj0*BB>_-xK|*8yq3}TB=jU9${R9{LXU7%J)c0)i356b?{$mZ_z171 z3MC}YFtf7eQlfN%sgV#;J0i{k_9Tna5Ad-S=)>`#1y(&cTq2(b@3+M7oe;Hfsg`&>n~o6(-q zJ!NIb9d&M7Qlo44#&7gg?MmNN4Di@yPjBg3rqCeBs$K81c<)aef?k!{p}%X0l1iK7 z;zJJrbTi)+N>lY7ew0%tZu~wQ$-{+~9T|fAvo9u1ZuQ)xe`UHfUre>_`grwAc~Uz6 zw2;k3YXfE8>7+_(hJ~m{&9a?99$sqPw;Kuca}}d1#mAYOfxg*4$s<;q+;;buCvqZk z%6>}&0AUli*!Kvqh;JuB+$=|MhXFz#aXXbv>C22h<8nz=Gtqjiq5v=LF&?)HS1l2* z*_g^z9^n=T07?7U&@CC6laQCHQMkm2<0KnTx+1q#YphxlX_+w{Ic?CL3OQ`@P3cai zG>0?LJCA*>y5R6^Zlwwat8Mpo@c;bD+QF= zA%$h>n%Kb}$==;lmA+d+-YqHEV4iZvryM7+471-JYU+h39VU4bGXQZX#~^utRz5k4 z+9*Ow-s{WyzD7~@D~H=O+4`sW0CHp9iv9si;Ue!)PwMN(WI)UZ1Ij@Bo<7Wv< z)xMiyKj_kMAKD+a+K3%VZb$$(Oc{gX#KUZ!q60^-s2Cw!#vOFbOCVk7EOlR4yB3{> z!tyFC`cY%KlY@n?*v)5Nkxrd{h`B1*5_WUo-0-t!pxTyFNZfc1XVhLflbn`+##+ot zn4|;fZ+f9EiMO8~>kt)|alD^&D0mREwLoaU;dy?%#th>8O8`*euA!Q21P4Pz7egso zsUH1X)$fizeR%v%(=jo!+1dUw;}@ifeJb%U{GZ%O{EIos7kn(zb_jO;3T^sZENTS1 z%7rJht0NPW();;_JF2=^7@{rFUm3SBL@#cxCo%DspNUQfG1^(gSyS2_*(uM>~xuu_j0RHE%)}!k~uFv}`p9iGkJtCg3O2||$?l0?=F3P_ke>jLP(eUNF z;J(5Y2xy~)0SAuB7Snz3i+s$Y;9dK{d z<_&c03E`ID2I1ORB=*8cQcZKB?VMN+w#%BG?L*0;+ZDZkSp&HpU4NgPZ%D*&csZp7 z^jfFvmL=Jg96Z%*6n;K zZk%Hi`5w_u-^#U+VNAQCPaCzP!ZgVJ=(>FR)9YQLCvh~uuIg(XLYl@FU50#0i~T>$ z=@nHuPNagEHQGZLoL}A_OWbdshy~F>xqElFYo_PVL^QPZ_gz(Zl~;*03iBBXJ1|uO z5@1Z=^-H|&@Qjcg+9x|^(cn5#6IF>*8izyFkNFJsaVmaca3tPR3$#dpg=6jw)${t4G)DOH@~%S9QqHd)Zv4cC5ctBfGMy zGUpO*1c_v+d?egBx+YXR)x!p2_CB{{HsKe;Xox$5M1<-dS>vX}$v)PBE(MLXd|pW$zUZ>vY@(F5`|`#G8U+rYehsf|1S!Kc-6@=FlpaG>K8~&KNLk?ZWL)nF zZ_&ViteF8xmtq;hbU{j&%HPdIsIk=XY->}3Qn|b{cEG8Uvbuf_WG~BSJ+>lv7sL#` z-EiUwtQ?)9z}Y*hke`3zK{y*E480ZE7jiB?=UZ?-VXnipZ%N%_u3Nv10hAb9K(x8h zosW=!gZ(qy;_-OO-IIXZ3Ig8x@-9|oOwE==p4?qSeG+*?T%5! z$C}lAe7~X)1c*RyFVxU!IU2z61DWxa+ZpoUN5!^vUp<*!8PXrIjJ$SXNN)g;)-!Br zJ41{}L|EwE%MOzG-KLIPgAK@p7!3EQOh!lk2~_a;^L2~{2j2K1%8?`_z^Smgmn^ly z>AsnCx*E$Ert8JcaaK`CIg%NoujUAwH&9EBagTbgiBXB?#a|uZ{ot|kt0_4ld&9kb zv1p=AlDtT1;`a{L@tHd|VP^ zX|FWMN%Xg#X80X;n+JKO7+LL();i8O{Hp(`(r#M$6w^erGy9PQAMw(sB-DzD;xzB;<0pmEE5xaWg|aMaVp9i;aw&Oc=8$IM*sK`K|Bz| zME`gW@L@WxxgZgpBL&jT1LBOB$S~yt;u>z(&eaVIxE&rVt9mHy$SJw~(uDc=;>Pl! zM)Ov|eUUSh<{bH<7G4&nd7XV1PLvYp z%cZV6GLlp6jW?53#gqY_QJvRhaRk}4-28I(-&3e+UR75IXX)BCK&~7;56_F|xH4t+ zAkp>j^dCSy55Lzo-kv2__TGJ+i@c_VBW?|CmZeNZDf*o7uM>oG2I*IwW)io=ExB}!BE zS4U=+q>)=o#?qP-C0fTs41SoVIQHPZ)roUY0S^lEz3B|0BK=e?5`-6HncuaYLVVKC28H7Ti15g#cQ(q^-75pwU61TL<;&A?1by zYam*atz%O+GI`FRiO)3F@*dwq!VeKO(UR^XY(Z5bdf5A3@{0&qS!fUi!fF|5V|0!K z6_Mb`fz!BCRB}2akwR+dXiYo1-|Nj%$#mKxgC+EqM!_sxL+rUYts$m;?X0jyIo9QyelP|ORRa8aByjaCo<$dV$*;Z=t2@t`uR-F zVF0ajdGG2y7F&sAY~fER$X7(m4znxSO3J$AqWF#)9E?=SiB=Hqi~G2BJu{=>wt+T9Gn}FtIR!{pdug=NwfOALM1HIhu3n z@3(AF9LZ2T%-dh}XJDiME$}+wQ$<x_=NACa6 z8*d^c2Eu_jy{P(@Q2j-52aqwoh{-haUjIIgpTjD1aE&yUpX^!kPW3IY?A}PJ;Oooy zn@dTegO|nY6pfV03b6Jn&?FU5ph{tOoRy%5LdoQwbC`p>TnniN=5K+QFBP;ffzyx) zYgwcP?Twk>EqR-UL+4i2aSR|<{{N)956DPD=?Fr46NHD4d1}KIJKum>B3Zdamd^*s zIG{E&eZQ7KJ7taZKH)uEZ&abeQ&xK69fiRfUHqN`T`1XU5Z6*iVx9|ifY*n^(`EB;ilsq=#}4A5 zMHH9%z{Y0G!4R3}=o2c+TAK5@{g9=hn9swQYJ44qWiW(xr`$Ua=Iy=RKVhFM_*?D@ zr1^rY^_+t_g4NiTayFP@18|7t_4^>JA5a@f;4g^fbZdjy8xIkSY0Nul)R4A8`9<}{ zvJUQ0YcjgT`}qbD>#AD8{g?d>46n=$V0KR%yq}ZNGk0QO9ZY(k6eaM){}y-&TbayX zEE;3gxz!u5bQwXqXt-5IeWNDAb}9^9TPN4j5VEi!WhwI#uhTa1VaghSbPn^yVK#^_>d?)4iqN@4vr}{k52IZ|7D!41a;ANWj4t?6tRiAjU=B~MH&;p2(>@sY5rLU+cO4x6EbG~Di?`#g-`K8>H zP~BQ%eOk(>x6#O`Szo2Ide*N@X0r&C~jyg%0HrdX|a=F~C# z@T_Fo)dLL#rLms#6v90TnL3ZtTo7}1vsis$q3W3tf4Mn$Zp|*bT4Ouu5~-o(aNc8L$n((enQ2330{I^EAJNhL5`4;Y}s|A+?qiS{Y;!Y(Qj}e$$MLJGpZ790eZb&OM{Rg=6C$|Fp8(g`!*l)2Gxj3laAgrjD zq@TvVOp%VTm`rHlzT{@couSWUPWl^$poj00dTzs?*h8d$dczZSwH@{_F$mFd0539x zo``TlTUSBKLDvqpeztcCGCY&u(Pr%3+yJ3TQv|&F*dbvCCJM0J^V4t!Ko631a~62) z>S`X-$%Z~Ze^(KE9jmRE%W3MEtkm$HAjoDjF&qVtfd(5?i;dKc?>yuo?mal8owcd4 z6Q{`G%vOaYY&vx+vQ~1ub@ixfocL8CgXUKY$0f|DWWM~R{^2gctM+5@cO-s@jRhQ9 zYFz$!YCl3C0{3K|Udjnq0RpnjKpSuR3RR+ztmaqhY5!NV&nQnmAXdL<_6cyur8a>| zH^kQ7rHlD3n;U{c>-R;zLB-{89q`A)7sx7%deKH^j04}PHIa#xa+a!Jj=^B&Ou`ll zYCpYp8ftUFt9BpWSfI)8OVp-lesHwY;-{&jWikFbg>U1$S0xMp=-C)IkfAgM^U;yO zibF=0QO}=njJ17>ZSc?$xQ2Mzny<=M;-uP@?1rq%R*dGg{=m)Hsiuuy@3YwYvN&km zAgQdEWRPaP{DU(Q>a+YZ`t0anT~6IA>qvS%cmzB5jxdVIC2a*Nr$kSz1ef);xY+V- z@dBRXyRG%7+XFT#wwkHY+=hxW%gkZLAj7rlByOrXUjjcWvdZ*CM{6ZB0(|_9^Ea#W z7sTNo)B(m^dKnj5O#k31arBQDghyMX{S= zsfUG8fINgj_c~QL=KG3Hwq!Pr>r`9Lxrg2gu1`d1xpV>xFBjncoE-tTqdcX^7RHsl z)ay(3UQNkHS+g$%WTzF;j9biB_N|x5IgT<}p#dIyBNq&sZMpTZqrHG-PZ|MZ^BvEvYLGbDDi_|aj;#WR; zGTGs@l-Z-qq5&RX?P@PA>D=J;Ed(Lvi1K%%JsA!vE!WGdiSU}^=#-F+$X(5GGev^m zK*)QdYRQf%5;@iQ+kk|^+0Br{6GdL@<;|38T+1gVa*^6T`-$0XxoV18iPCJr8dz}D zVOaw!>!}s7PVhMTkeA$z!{>xW=dqOdMf%Jo&(PU7faDozA8pzJIx6H&mhs>z(>x57 z?ZIm)KJPkmt6Xs7Nfu;MV?E=HnVW9LNjms9Ys`HKgj zrZCQ@>t_Qkk7u8U-14O{22u4UUH+RyA+0*D4yoDp1^R65I}3c3_TqNEqh^+Vu{OWK zkvp5Nd5s-wT<)hU?D_$V?0B}-|K&CSL#5fnz`DxIgTuha9_TOpgV+=P;=w-P&g4mv;9z}#5R&odqpTl{Yl<>$2UNqL^Z zgYHcZ&t3`&25&MhUk>e^e|R9c<+?l|=;MG9nQAp>_onul7gL&-(0`aANtM}7?R0EC z?iR-R&Zzm4gKN1xvNpMxwWg0+$TBKhIxZxBs78p-5$>Y)1PV%&LA1r3HET+p`l&~y zLax%@tij^apJ4DEqf{`|kd0TC(@D?A#xDhx#LX{@cd&@$z{RQ#;2t$UcJ46`X!}sQDFl70(A(Vo2jVH{?dIGZ z9L%^2+~DW`Z{YqnZk=T$@|!}lw=+ttg4A=^1|kcODF?zQ4L^+k3)s<4N$70xUO@Ul zD;;huz6S%SRQwN|{wHjL!IMiZjR{k&)? zKTezfhLbq!9W_4m3o!YGj97lKy^jaWFt2MTsxDO0{}&aKnNZ;)F~xZG24t(Gh*JC) zd;-9s6?jS*ZS{k78AbGATK^uvT`7m}Hy907{29(e9N}~avD~pN@Lm1I%U+f!&}7YA zhQI(#5%=F1%N_k9nO>nfL%ihRx$5L!yTDglX&4UYPJU4#cc(r}r{&awcqFoORo1>CNLDnQ z^*P?zmAqNrKFD8Q>1|yV4h0}rk}#qQoP-Au8YDrUKt)KXA_Nisi&UuyL6)_{6yg)$ z<>iO)@+T+fBdf3q(DB^;(Am*p-Cg4MHEgB`H0K{2>!PR53hg_MEH+30f?Z$ACuwX73AZC{LznBP(bKUeF6|6;Xn0( z`N6_}j|F~v$0NwY$NT4CK^_6YKRo6E3-Iv%;VLh$02ut|WWWOdJ87_h@E;)o;L7eS z|JM^<0YQksAG3z{6BGph(T`V97%cQhn}86H@SpvJ!F>FGL=YZmAzpsqe+GjE{+x_3 znE%hP^6`M-GyG$$Fc`w~KZYT^f2IyTR+#U%a{~V?E_hb{tB{We!YBO4WZ-RrJjuiP Z$b?A30?7xTkso95W8J?mrz(&2{{YewnU??n delta 14398 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 diff --git a/results/meanInRadar/Ref_comparision_to_Label_Top.svg b/results/meanInRadar/Ref_comparision_to_Label_Top.svg new file mode 100644 index 00000000..bd0a4bb4 --- /dev/null +++ b/results/meanInRadar/Ref_comparision_to_Label_Top.svg @@ -0,0 +1,3056 @@ + + + + + + + + 2026-06-24T11:39:13.565849 + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c2a254a60d8a766dbda7b3bc811084e42a87ae15 Mon Sep 17 00:00:00 2001 From: Jie Huang Date: Wed, 24 Jun 2026 11:44:33 +0300 Subject: [PATCH 3/3] add help script to get the radar data in detail --- .../exportRadarStatsTable.py | 343 ++++++++++++++++++ 1 file changed, 343 insertions(+) create mode 100644 src/performanceEvaluation/exportRadarStatsTable.py diff --git a/src/performanceEvaluation/exportRadarStatsTable.py b/src/performanceEvaluation/exportRadarStatsTable.py new file mode 100644 index 00000000..a8f2cae8 --- /dev/null +++ b/src/performanceEvaluation/exportRadarStatsTable.py @@ -0,0 +1,343 @@ +#!/usr/bin/env python +import argparse +import json +import os +import re +from math import sqrt + +import numpy as np +import pandas as pd + + +DISTANCE_MAP = { + "wdistancec_nor": "WD", + "edistancec_nor": "ED", + "mdistancec_nor": "MMD", +} + +PROPERTY_MAP = { + "OO": "OO_dist", + "OH": "OH_dist", + "HOH": "HOH_dist", + "ZOH": "ThetaOH_dist", + "Hbond": "Hbonds", + "OrderP": "OrderP", +} + +# These 5 groups mirror visualiseEvaluateMeanInRadar.py intent. +GROUP_PATTERNS = { + "Ref": r"^Ref(_C\d+)?$", + "PPAFM2Exp_CoAll_L20_L1_Elatest_Only": r"^PPAFM2Exp_CoAll_L20_L1_Elatest_Only(_C\d+)?$", + "PPAFM2Exp_CoAll_L20_L1_Elatest": r"^PPAFM2Exp_CoAll_L20_L1_Elatest(_C\d+)?$", + "PPAFM2Exp_CoAll_L10_L10_Elatest_Only": r"^PPAFM2Exp_CoAll_L10_L10_Elatest_Only(_C\d+)?$", + "PPAFM2Exp_CoAll_L10_L10_Elatest": r"^PPAFM2Exp_CoAll_L10_L10_Elatest(_C\d+)?$", +} + +REFERENCE_PATTERN = {"Ref_Pure": r"^Ref_Pure(_C\d+)?$"} + +CATEGORY_GROUPS = { + "Pure": ["Ref_Pure"], + "Handcrafted": ["Ref"], + "Style translated (L20L1)": ["PPAFM2Exp_CoAll_L20_L1_Elatest_Only"], + "Style translated (L10L10)": ["PPAFM2Exp_CoAll_L10_L10_Elatest_Only"], + "Hybrid (L20L1)": ["PPAFM2Exp_CoAll_L20_L1_Elatest"], + "Hybrid (L10L10)": ["PPAFM2Exp_CoAll_L10_L10_Elatest"], +} + +CATEGORY_LATEX = { + "Pure": r"$F_{\mathcal{U}}(\mathcal{V})$", + "Handcrafted": r"$F_{\overline{\mathcal{V}}}(\mathcal{V})$", + "Style translated (L20L1)": r"$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$", + "Style translated (L10L10)": r"$F_{\widetilde{\mathcal{V}}}(\mathcal{V})$", + "Hybrid (L20L1)": r"$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$", + "Hybrid (L10L10)": r"$F_{\mathcal{V}^{\dagger}}(\mathcal{V})$", +} + + +def parse_args(): + parser = argparse.ArgumentParser( + description="Export mean/error tables for WD/ED/MMD radar metrics." + ) + parser.add_argument( + "--input-json", + default="../../processed_data/distribution_distances/similarities_Label_Top.json", + help="Path to similarities JSON file.", + ) + parser.add_argument( + "--output-dir", + default="../../results/meanInRadar/tables", + help="Directory for table and diagnostics outputs.", + ) + parser.add_argument( + "--include-reference-pure", + action="store_true", + help="Also include Ref_Pure summary rows in the outputs.", + ) + return parser.parse_args() + + +def build_distance_dataframe(similarities, distance_key): + rows = [] + for structure, values in similarities.items(): + row = {"Structure": structure} + for property_name, json_key in PROPERTY_MAP.items(): + row[property_name] = values[json_key][distance_key] + rows.append(row) + return pd.DataFrame(rows) + + +def calculate_stats(df, group_name, group_regex, distance_key): + mask = df["Structure"].str.match(group_regex) + selected = df.loc[mask].copy() + + records = [] + matched_structures = selected["Structure"].tolist() + for property_name in PROPERTY_MAP: + values = selected[property_name].dropna() + n = int(values.count()) + mean = float(values.mean()) if n > 0 else np.nan + std = float(values.std(ddof=1)) if n > 1 else np.nan + sem = float(std / sqrt(n)) if n > 1 else np.nan + + records.append( + { + "group": group_name, + "distance_key": distance_key, + "metric": DISTANCE_MAP[distance_key], + "property": property_name, + "n": n, + "mean": mean, + "std": std, + "sem": sem, + } + ) + + return records, matched_structures + + +def save_markdown_table(df, output_path): + md_df = df.copy() + md_df["mean"] = md_df["mean"].map(lambda x: f"{x:.6f}" if pd.notna(x) else "nan") + md_df["sem"] = md_df["sem"].map(lambda x: f"{x:.6f}" if pd.notna(x) else "nan") + md_df["std"] = md_df["std"].map(lambda x: f"{x:.6f}" if pd.notna(x) else "nan") + md_df["mean_pm_sem"] = md_df.apply( + lambda row: f"{row['mean']} +/- {row['sem']}", axis=1 + ) + md_df = md_df[ + ["group", "metric", "property", "n", "mean_pm_sem", "std", "mean", "sem"] + ] + + headers = list(md_df.columns) + lines = [] + lines.append("| " + " | ".join(headers) + " |") + lines.append("| " + " | ".join(["---"] * len(headers)) + " |") + for _, row in md_df.iterrows(): + cells = [str(row[h]) for h in headers] + lines.append("| " + " | ".join(cells) + " |") + + with open(output_path, "w") as f: + f.write("\n".join(lines) + "\n") + + +def build_condensed_table(stats_df): + rows = [] + for _, row in stats_df.iterrows(): + mean = row["mean"] + sem = row["sem"] + n = int(row["n"]) + if pd.notna(mean) and pd.notna(sem): + value = f"{mean:.6f} +/- {sem:.6f}" + elif pd.notna(mean): + value = f"{mean:.6f}" + else: + value = "nan" + rows.append( + { + "group": row["group"], + "metric": row["metric"], + "property": row["property"], + "n": n, + "mean_pm_sem": value, + } + ) + + condensed = pd.DataFrame(rows) + wide = condensed.pivot_table( + index=["group", "metric"], + columns="property", + values="mean_pm_sem", + aggfunc="first", + ).reset_index() + n_wide = condensed.pivot_table( + index=["group", "metric"], + columns="property", + values="n", + aggfunc="first", + ).reset_index() + + n_columns = [col for col in n_wide.columns if col not in ["group", "metric"]] + for col in n_columns: + wide[f"n_{col}"] = n_wide[col] + + return wide + + +def _category_regex(group_names): + regexes = [] + for name in group_names: + if name in GROUP_PATTERNS: + regexes.append(GROUP_PATTERNS[name]) + elif name in REFERENCE_PATTERN: + regexes.append(REFERENCE_PATTERN[name]) + else: + raise KeyError(f"Unknown group name in category mapping: {name}") + return "(?:" + "|".join(regexes) + ")" + + +def _format_pm(mean, sem): + if pd.notna(mean) and pd.notna(sem): + return f"{mean:.6f} +/- {sem:.6f}" + if pd.notna(mean): + return f"{mean:.6f}" + return "nan" + + +def build_category_tables(similarities, distance_key, score_label): + df = build_distance_dataframe(similarities, distance_key) + mins = df[list(PROPERTY_MAP.keys())].min() + maxs = df[list(PROPERTY_MAP.keys())].max() + + display_map = { + "OO": r"$d_{\mathrm{OO}}$", + "OH": r"$d_{\mathrm{OH}}$", + "HOH": r"$\theta_{\mathrm{HOH}}$", + "ZOH": r"$\theta_{\mathrm{ZOH}}$", + "Hbond": r"$(d_{\mathrm{O_d}\mathrm{O_a}}, \theta_{\mathrm{O_d}\mathrm{H}\mathrm{O_a}})$", + "OrderP": r"$(S_k, S_g)$", + } + + rows_normalized = [] + rows_detailed = [] + for category, groups in CATEGORY_GROUPS.items(): + regex = _category_regex(groups) + subset = df[df["Structure"].str.match(regex)] + row_normalized = { + score_label: category, + "latex category": CATEGORY_LATEX[category], + "number of model replicas": int(subset["Structure"].nunique()), + } + row_detailed = { + score_label: category, + "latex category": CATEGORY_LATEX[category], + "number of model replicas": int(subset["Structure"].nunique()), + } + for prop in PROPERTY_MAP.keys(): + values = subset[prop].dropna() + n = int(values.count()) + mean = float(values.mean()) if n > 0 else np.nan + std = float(values.std(ddof=1)) if n > 1 else np.nan + sem = float(std / sqrt(n)) if n > 1 else np.nan + + denom = float(maxs[prop] - mins[prop]) + norm_mean = 1.0 - ((mean - float(mins[prop])) / denom) if n > 0 and denom != 0 else np.nan + norm_sem = (sem / denom) if pd.notna(sem) and denom != 0 else np.nan + + raw_text = _format_pm(mean, sem) + norm_text = _format_pm(norm_mean, norm_sem) + row_normalized[display_map[prop]] = norm_text + row_detailed[display_map[prop]] = f"({raw_text}), ({norm_text})" + rows_normalized.append(row_normalized) + rows_detailed.append(row_detailed) + + return pd.DataFrame(rows_normalized), pd.DataFrame(rows_detailed) + + +def main(): + args = parse_args() + os.makedirs(args.output_dir, exist_ok=True) + + with open(args.input_json, "r") as f: + similarities = json.load(f) + + group_patterns = dict(GROUP_PATTERNS) + if args.include_reference_pure: + group_patterns.update(REFERENCE_PATTERN) + + all_records = [] + membership = {} + + for distance_key in DISTANCE_MAP: + df = build_distance_dataframe(similarities, distance_key) + for group_name, group_regex in group_patterns.items(): + records, matched_structures = calculate_stats( + df=df, + group_name=group_name, + group_regex=group_regex, + distance_key=distance_key, + ) + all_records.extend(records) + membership.setdefault(group_name, { + "pattern": group_regex, + "matched_structures": matched_structures, + "n_structures": len(matched_structures), + }) + + stats_df = pd.DataFrame(all_records) + stats_df.insert(0, "layer", "Top") + + long_csv = os.path.join(args.output_dir, "radar_stats_top_long.csv") + stats_df.to_csv(long_csv, index=False) + + wide_df = stats_df.pivot_table( + index=["group", "metric"], + columns="property", + values=["mean", "sem", "n"], + aggfunc="first", + ) + wide_df.columns = [f"{stat}_{prop}" for stat, prop in wide_df.columns] + wide_df = wide_df.reset_index() + + wide_csv = os.path.join(args.output_dir, "radar_stats_top_wide.csv") + wide_df.to_csv(wide_csv, index=False) + + markdown_out = os.path.join(args.output_dir, "radar_stats_top_long.md") + save_markdown_table(stats_df, markdown_out) + + condensed_df = build_condensed_table(stats_df) + condensed_csv = os.path.join(args.output_dir, "radar_stats_top_condensed.csv") + condensed_df.to_csv(condensed_csv, index=False) + + category_table_specs = [ + ("wdistancec_nor", "WD score", "wd_category_table_top.csv", "wd_category_table_top_detailed.csv"), + ("edistancec_nor", "ED score", "ed_category_table_top.csv", "ed_category_table_top_detailed.csv"), + ("mdistancec_nor", "MMD score", "mmd_category_table_top.csv", "mmd_category_table_top_detailed.csv"), + ] + saved_category_tables = [] + for distance_key, score_label, normalized_name, detailed_name in category_table_specs: + normalized_df, detailed_df = build_category_tables( + similarities=similarities, + distance_key=distance_key, + score_label=score_label, + ) + normalized_out = os.path.join(args.output_dir, normalized_name) + detailed_out = os.path.join(args.output_dir, detailed_name) + normalized_df.to_csv(normalized_out, index=False) + detailed_df.to_csv(detailed_out, index=False) + saved_category_tables.append(normalized_out) + saved_category_tables.append(detailed_out) + + membership_out = os.path.join(args.output_dir, "group_membership_top.json") + with open(membership_out, "w") as f: + json.dump(membership, f, indent=2) + + print(f"Saved long table: {long_csv}") + print(f"Saved wide table: {wide_csv}") + print(f"Saved markdown table: {markdown_out}") + print(f"Saved condensed table: {condensed_csv}") + for category_table in saved_category_tables: + print(f"Saved category table: {category_table}") + print(f"Saved group membership: {membership_out}") + + +if __name__ == "__main__": + main()