Spaces:
Sleeping
Sleeping
from face_deid_ct import drown_volume | |
import gradio as gr | |
import gradio as gr | |
import os | |
import zipfile | |
import shutil | |
def process_file(input_file): | |
cache_dir = "cache" | |
cache_out_dir = "_d" | |
output_zip_file = "output.zip" | |
# Check if input file is a zip file | |
if zipfile.is_zipfile(input_file.name): | |
with zipfile.ZipFile(input_file.name, 'r') as zip_ref: | |
# Unzip the file in 'cache' directory | |
zip_ref.extractall(cache_dir) | |
# Run deid function | |
drown_volume(cache_dir, cache_out_dir, replacer='face') | |
# Create a Zip file for 'cache_out' directory | |
with zipfile.ZipFile(output_zip_file, 'w') as zipf: | |
for root, dirs, files in os.walk(cache_dir+cache_out_dir): | |
for file in files: | |
zipf.write(os.path.join(root, file), | |
os.path.relpath(os.path.join(root, file), | |
os.path.join(cache_out_dir, '..'))) | |
# Cleanup cache directories | |
shutil.rmtree(cache_dir) | |
shutil.rmtree(cache_dir+cache_out_dir) | |
return output_zip_file | |
else: | |
raise ValueError("The provided file is not a zip file.") | |
inputs = gr.components.File(label="Input File") | |
outputs = gr.components.File(label="Output File") | |
demo = gr.Interface(fn=process_file, inputs=inputs, outputs=outputs) | |
demo.launch() |