# %% import gradio as gr import joblib loaded_rf_3way = joblib.load("STPI_3WAY_RandomForest.joblib") def STPI(t_0_5_MaxValue,t_1_0_MaxValue,t_2_0_MaxValue, # Acc_0_5__1_0_MaxValue, Abs_Diff_t_0_5_MaxValue,Abs_Diff_t_1_0_MaxValue,Abs_Diff_t_2_0_MaxValue): print('------------------') X = [t_0_5_MaxValue,t_1_0_MaxValue,t_2_0_MaxValue, # Acc_0_5__1_0_MaxValue, Abs_Diff_t_0_5_MaxValue,Abs_Diff_t_1_0_MaxValue,Abs_Diff_t_2_0_MaxValue] print(X) outcome_decoded = ['Normal','Suspect','Keratoconic'] file_object = open('stpi_data.txt', 'a') file_object.write(str(t_0_5_MaxValue)) file_object.write(';') file_object.write(str(t_1_0_MaxValue)) file_object.write(';') file_object.write(str(t_2_0_MaxValue)) file_object.write(';') # file_object.write(str(Acc_0_5__1_0_MaxValue)) # file_object.write(';') file_object.write(str(Abs_Diff_t_0_5_MaxValue)) file_object.write(';') file_object.write(str(Abs_Diff_t_1_0_MaxValue)) file_object.write(';') file_object.write(str(Abs_Diff_t_2_0_MaxValue)) file_object.write(';') file_object.write('\n') file_object.close() result_3way = loaded_rf_3way.predict([X]) print('The patient is ', outcome_decoded[int(result_3way)], 'through the 3way method') # result = 'The 3-way classification resulted in a ', outcome_decoded[int(result_3way)] + ' patient.' # further_analysis = 'Futher analysis using the 2-way classification resulted in a ' + outcome_decoded[int(result_2way)] + ' label.' return 'The patient is ' + outcome_decoded[int(result_3way)] + '.' # result = 'The 2-way classification resulted in a ', outcome_decoded[int(result_2way)] + ' patient.' # further_analysis = 'Futher analysis using the 3-way classification resulted in a ' + outcome_decoded[int(result_3way)] + ' label.' return 'The patient is ' + outcome_decoded[int(result_2way)] + '.' iface = gr.Interface( fn=STPI, title='TSPI Calculator', description='Uses the Thickness Speed Progression Index (TSPI) to calculate the most probable patient diagnosis through summarized tomographic parameters. Beta version made for Zeimer by Prof. Shady Awwad and Jad Assaf MD.', inputs=["number", "number","number", # "number", "number", "number","number"], outputs="text") iface.launch( # share=True ) # %%