import os import streamlit as st papaya_script = """
""" # TODO: # https://github.com/angelomenezes/dicom-labeling-tool/blob/main/webapp/DICOM.py # follow above to reload data # def handle_input(myimage,mymask,papaya_script): mydict = {} os.makedirs('static/tmp/',exist_ok=True) image_path = 'static/tmp/image.nii.gz' mask_path = 'static/tmp/mask.nii.gz' for file_path,uploaded_file in [(image_path,myimage),(mask_path,mymask)]: bytes_data = uploaded_file.getvalue() with open(file_path,'wb') as f: f.write(bytes_data) image_path = './app/static/tmp/image.nii.gz' mask_path = './app/static/tmp/mask.nii.gz' papaya_script = papaya_script.replace("{{IMAGE_FULLPATH}}",image_path) papaya_script = papaya_script.replace("{{MASK_FULLPATH}}",mask_path) papaya_script = papaya_script.replace("{{MASK_BASENAME}}","mask.nii.gz") st.components.v1.html(papaya_script,height=600,width=800) def main(): st.subheader("papaya-image-viewer") myimage = st.file_uploader( "Upload your image nifti file", accept_multiple_files=False) mymask = st.file_uploader( "Upload your mask nifti file here and click on 'Render'", accept_multiple_files=False) if st.button("Render"): with st.spinner("Processing"): handle_input(myimage,mymask,papaya_script) if __name__ == '__main__': main() # papaya_script = papaya_script.replace("{{IMAGE_FULLPATH}}","./app/static/promis12-test-Case00.nii.gz") # papaya_script = papaya_script.replace("{{MASK_FULLPATH}}","./app/static/promis12-test-Case00-mask.nii.gz") # papaya_script = papaya_script.replace("{{MASK_BASENAME}}","promis12-test-Case00-mask.nii.gz")