CoolFace
Apppublic

Treav/DICOMDeidentify

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py52 linesDownload Raw Back to root
1import gradio as gr2import glob3from pathlib import Path4import matplotlib.pyplot as plt5import pydicom6from presidio_image_redactor import DicomImageRedactorEngine7import pytesseract8from pydicom import dcmread, dcmwrite9import deidentify as deid10import os11def Deidentify(input_file):12    #do something13    output_file = deid.dicomprocess(input_file.name) # #os.path.dirname(os.path.realpath(input_file.name))+'/'+ input_file.name.split('/')[-1])14    print("-------------------{}-{}---------------".format(output_file,input_file.name))15    16    return output_file17 18def ImageOut(dicomProcessed):#originalDCM, 19    print("ImageOut({})".format(dicomProcessed))20    # print("-----------{}--------".format(os.path.dirname(__file__)))21   # ds = pydicom.dcmread(originalDCM.name)22    #plt.imshow(ds.pixel_array, cmap=plt.cm.bone)23    #plt.savefig("input.jpg")24    #plt.close()25    ds2 = pydicom.dcmread(dicomProcessed.name)26    plt.imshow(ds2.pixel_array, cmap=plt.cm.bone)27    plt.savefig("output.jpg")28    plt.close()29    return os.path.realpath("output.jpg")#, os.path.realpath("input.jpg")30    31 32with gr.Blocks() as demo:33    gr.Markdown("DICOM File deidentification")34    with gr.Row():35        file_input = gr.File(file_count='single', label = 'Upload the DICOM File')36        file_output = gr.File(label = 'Deidentified file')37    with gr.Row():38        deidentify_btn = gr.Button('Deidentify')39        view_btn = gr.Button('ViewDICOM')40        41    deidentify_btn.click(Deidentify, inputs=[file_input],42                                            outputs=[file_output])43    with gr.Row():44        #imageOrg_view = gr.Image(type="pil")45        image_view = gr.Image(type="pil")46    47    view_btn.click(ImageOut,inputs=[file_output],outputs=[image_view])48    49    50demo.launch(debug=True,enable_queue=True)51 52