test / app.py
abhi3940's picture
Update app.py
c13c6f7 verified
import streamlit as st
from PIL import Image
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image
from streamlit_image_select import image_select
import time
import io
pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-refiner-1.0")
def main():
st.title("Welcome to SurgiLook.ai!")
st.write("With this tool, you can easily visualize the results of a surgical procedure before it happens")
# Add an image input field
uploaded_file = st.file_uploader("Choose an image...", type="jpg")
# Add padding
st.write("")
st.write("")
# Add padding
st.write("")
st.write("")
# Add a section to select an image
img = image_select(
label="Or use a Demo Image insted",
images=[
Image.open("chin.jpg"),
Image.open("facelift.jpg"),
Image.open("nose.jpg"),
],
use_container_width=False,
captions=["chin implant", "face lift", "nose adjustment", ],
return_value="index"
)
# Add padding
st.write("")
st.write("")
# Add a section with multiple options
st.header("Select an option:")
option = st.selectbox("", ("Face Lift", "Nose correction", "Chin implant"))
st.write("You selected:", option)
# Add padding
st.write("")
st.write("")
# Add a horizontal bar with images for each option
strg=""
if option == "Face Lift":
strg="Face Lift"
col1, col2, col3 = st.columns(3)
with col1:
st.image("fl1.jpg")
with col2:
st.image("fl2.jpg")
with col3:
st.image("fl3.jpg")
elif option == "Nose correction":
strg="Nose correction"
col1, col2, col3 = st.columns(3)
with col1:
st.image("nose1.jpg")
with col2:
st.image("nose3.jpg")
with col3:
st.image("nose4.jpg")
elif option == "Chin implant":
strg="Chin implant"
col1, col2, col3 = st.columns(3)
with col1:
st.image("chin1.jpg")
with col2:
st.image("chin2.jpg")
with col3:
st.image("chin3.jpg")
# Add padding
st.write("")
st.write("")
# Add a text input field
text_input = st.text_input("Enter some text...")
# Add a generate button
if st.button("Generate"):
# Check if an image was uploaded
if uploaded_file is not None:
image_bytes = uploaded_file.read()
pil_image = Image.open(io.BytesIO(image_bytes))
init_image = load_image(pil_image).convert("RGB")
prompt = f"generate image of how this person would look after {strg} also use this additional information{text_input}"
image = pipeline(prompt, image=init_image).images
st.image(image, caption="Uploaded Image", use_column_width=True)
else:
time.sleep(4)
if img==0:
st.image('chinop.jpg',width=300)
elif img==1:
st.image('faceliftop.jpg',width=300)
elif img==2:
st.image('noseop.jpg',width=300)
# Add padding
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
# Add a section with instructions and images
col1, col2 = st.columns(2)
with col1:
st.header("How to use this website")
st.write("Here are some steps to get you started:")
st.write("1. Upload an image using the image input field above.")
st.write("2. select the type of cosmetic sugery you want to perform.")
st.write("3. Add some text to describe any specific details")
st.write("4. Click the generate button to generate output.")
with col2:
st.image("step1.jpeg")
st.write("")
st.write("")
col1, col2 = st.columns(2)
with col2:
st.header("Transforming the cosmatic surgeriy experiance")
st.write("Our SugiLook AI model generates realistic before and after images of cosmetic surgery.")
st.write("Generate Precise image by providing detailed feedback")
st.write("Feel more confident on your decision")
st.write("Assist doctors in communicating the potential results of the procedure.")
with col1:
st.image("step2.jpeg")
# Set up the footer container
# Add a footer
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
st.write("")
footer_container = st.container()
with footer_container:
st.write("Terms of Use | Privacy Policy | Contact Us")
st.write("Language: English | Spanish | French | German")
if __name__ == "__main__":
main()