import numpy as np import pandas as pd import plotly.express as px import plotly.graph_objects as go import plotly.io as pio pio.kaleido.scope.mathjax = None import os import json if __name__ == '__main__': experiments = ['Task501_Glacier_front', 'Task502_Glacier_zone', 'Task503_Glacier_mtl_early', 'Task503_Glacier_mtl_late', 'Task505_Glacier_mtl_boundary', 'Task500_Glacier_zonefronts'] data_dir = '/home/ho11laqe/Desktop/nnUNet_results/Final_Eval/' zone_mean = {} front_mean = {} for experiment in experiments: print(experiment) zone_mean_exp = [] front_mean_exp = [] # nofront[experiment] = {'Front': [], 'Zone': []} for fold in range(5): # load json file with results results_json_path = os.path.join(data_dir, experiment, 'fold_' + str(fold), 'pngs', 'eval_results.json') if not os.path.exists(results_json_path): results_json_path = os.path.join(data_dir, experiment, 'fold_' + str(fold), 'eval_results.json') with open(results_json_path, 'r') as f: result = json.load(f) if 'Front_Delineation' in result.keys(): front_mean_exp.append(result['Front_Delineation']['Result_all']['mean']) else: front_mean_exp.append(0) if 'Zone_Delineation' in result.keys(): zone_mean_exp.append(result['Zone_Delineation']['Result_all']['mean']) else: zone_mean_exp.append(0) print(np.mean(zone_mean_exp), np.std(zone_mean_exp)) print(np.mean(front_mean_exp), np.std(front_mean_exp)) zone_mean[experiment] = zone_mean_exp front_mean[experiment] = front_mean_exp for exp1 in experiments: for exp2 in experiments: # FRONT mean1 = np.mean(front_mean[exp1]) var1 = np.var (front_mean[exp1]) mean2 = np.mean(front_mean[exp2]) var2 = np.var(front_mean[exp2]) T_front = abs(mean1 - mean2) / np.sqrt((var1 / 5) + (var2 / 5)) print(exp1 + '<>' +exp2) print('Tfront:'+ str(T_front)) # Zone mean1 = np.mean(zone_mean[exp1]) var1 = np.var(zone_mean[exp1]) mean2 = np.mean(zone_mean[exp2]) var2 = np.var(zone_mean[exp2]) T_zone = abs(mean1 - mean2) / np.sqrt((var1 / 5) + (var2 / 5)) print('Tzone:' + str(T_zone)) print('') """ box_width = 0.8 fig = px.box(None, points="all", template="plotly_white", width=600, height=500) fig.add_trace(go.Box(y=zone_mean['Task502_Glacier_zone'], name='Zone
STL', width=box_width, line_color='black', fillcolor='LightBlue ', pointpos=0, boxpoints='all', boxmean=True)) fig.add_trace(go.Box(y=zone_mean['Task503_Glacier_mtl_early'], name='Early Zone
MTL', width=box_width, line_color='black', fillcolor='YellowGreen', pointpos=0, boxpoints='all', boxmean=True, )) fig.add_trace(go.Box(y=zone_mean['Task503_Glacier_mtl_late'], name='Late Zone
MTL', width=box_width, line_color='black', fillcolor='#e1e400', pointpos=0, boxpoints='all', boxmean=True)) fig.add_trace( go.Box(y=zone_mean['Task505_Glacier_mtl_boundary'], name='Boundary
Zone MTL', width=box_width, line_color='black', fillcolor='gold', pointpos=0, boxpoints='all', boxmean=True)) fig.update_layout(showlegend=False, font=dict(family="Times New Roman", size=18)) fig.update_yaxes(title='Front mean') # fig.show() fig.write_image('Front mean' + ".pdf", format='pdf') """