import gradio as gr from utility import * from application import * from features import * def reset(): ''' reset gradio input and output features in this page. ''' return ( gr.Radio.update(value=anatomic_domains[-1]), gr.Files.update(value=None), gr.TextArea.update(value=""), gr.Markdown.update(value=""), gr.Markdown.update(value="") ) # complete user interfaces @terminal_print def init_study_page(): with gr.Blocks() as study_page: # user control panel with gr.Row(equal_height=False): with gr.Column(): gr.Markdown("## Settings") gr.HTML("
") domain = gr.Radio(label="Anatomical Region",choices=anatomic_domains,value=default_region) select_ifu = gr.Dropdown(label="Select an IFU",choices=app_data["devices"].keys(),value=list(app_data["devices"].keys())[0]) with gr.Column(): gr.Markdown("## Upload") gr.HTML("
") upload_study = gr.File(label="Upload a clinical study report",type="file",file_count="single") input_study = gr.TextArea(label="Or paste a clinical study report content",placeholder="Paste content here...",lines=5) with gr.Row(): btn_reset = gr.Button(value="Reset",variant="stop") btn_add_study = gr.Button(value="Add",variant="primary") gr.HTML("
") with gr.Row(): gr.Markdown("## Literature Report") gr.HTML("
") with gr.Row(equal_height=False): with gr.Column(): dropdown = gr.Dropdown(label="Select a literature report",choices=app_data["articles"].keys()) with gr.Column(): with gr.Row(): btn_get_article = gr.Button(value="Get",variant="primary") btn_refresh = gr.Button(value="Refresh",variant="primary") gr.HTML("
") # extraction outcome panel with gr.Row(equal_height=False): with gr.Column(): overview = gr.Markdown("") with gr.Column(): # tables = gr.Markdown("") detail_views = gr.Markdown("") # control element definition btn_get_article.click( get_existing_article, inputs=[ dropdown, ], outputs=[ overview, detail_views, ] ) btn_reset.click( reset, outputs=[ domain, upload_study, input_study, overview, detail_views, ] ) btn_add_study.click( process_study, inputs=[ domain, select_ifu, upload_study, input_study, ], outputs=[ overview, detail_views, # tables ], ) btn_refresh.click( refresh, outputs=[ overview, detail_views, dropdown ], ) return study_page