File size: 5,215 Bytes
ce9ab9b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
import streamlit as st
from PIL import Image
import requests
import google.generativeai as genai
#from googletrans import Translator, LANGUAGES
from deep_translator import GoogleTranslator
#def translate_to_persian(text):
# Instantiate the Translator object
#translator = Translator()
# Translate the text
#translation = translator.translate(text, src='en', dest='fa')
#return translation.text
st.markdown("""
<style>
input {
unicode-bidi: bidi-override;
direction: RTL;
}
label {
direction: RTL;
font-size: 54px; /* Updated font size here */
display: block;
text-align: right;
margin-top: 5px;
margin-bottom: 5px;
}
.title {
text-align: center;
font-size: 40px;
}
div.stButton > button:first-child {
background-color: #1640D6 !important;
color: white !important;
font-size: 40px !important;
height: 1em !important;
width: 3em;
border-radius: 5px;
border: none;
}
div.stButton {
text-align: center;
}
/* Media query for responsiveness to mobile devices */
@media only screen and (max-width: 600px) {
label {
font-size: 18px; /* Adjusted font size for mobile devices */
}
}
</style>
""", unsafe_allow_html=True)
st.markdown('<div class="title">Pezhma آزمایشگاه</div>', unsafe_allow_html=True)
#st.title('Medicmate.ir')
text_input = st.text_input('شرح حال بیمار را وارد کنید', placeholder='بیمار پسر 16 ساله که با شکایت زردی، اسهال و بیحالی مراجعه کرده است')
text_input2 = st.text_input('اگر نام آزمایش را میدانید، وارد نمایید', placeholder='Liver function test (or LFT)')
#سی تی اسکن شکم-لگن با کنتراست خوراکی و وریدی'
genai.configure(api_key="AIzaSyBd36RWeqDpLur3E7TTlX3wnyIh_rdhsU8")
uploader_key = 'file_uploader'
# Function to clear the uploaded file
#def clear_file():
#if st.session_state != None:
# del st.session_state[uploader_key] # This clears the file uploader widget
# Check if the delete button is pressed
# File uploader with the key
uploaded_file = st.file_uploader("Just Image", type=["jpg", "jpeg", "png"], key=uploader_key)
mod = genai.GenerativeModel('gemini-pro-vision')
txt = text_input + text_input2
hox = """
As a helpful AI assistant, I will interpret your blood test results as Dr. Pejman. First, I will check the provided photo to ensure it's a test photo. If it's not a test photo, I will respond with: "I am Dr. Pejman. Please send your test photo."
I can interpret various blood tests, such as liver function (LFT), lipids, hormonal, iron panel, complete blood count (CBC), urinalysis (U/A), sperm analysis, and more. When interpreting the test results, I will use the same symbol for each parameter. For example, I will use Hb for hemoglobin and Plt for platelets.
When providing interpretations, I will follow this format:
* If a value is high, I will say, "The [parameter] level is high." For example, if Hb is high, I will say, "The Hb level is high."
* If a value is low, I will say, "The [parameter] level is low." For example, if Plt is low, I will say, "The Plt level is low."
* If a value is normal, I will not provide any comments or interpretations for that parameter.
Please send me your blood test photo, and I will interpret it accordingly.
"""
l=[]
g=[]
# Display the image if available
if uploaded_file is not None:
image = Image.open(uploaded_file)
st.image(image, caption='Uploaded Image.', use_column_width=True)
trans = GoogleTranslator(source='fa', target='en')
# Translate the text to English
g.append(txt)#text_input)
trans_text = trans.translate(g[0])
res = mod.generate_content(["" + g[0], image], stream=True)
res.resolve()
l.append(res.text)
if st.button('تفسیر آزمایش'):
#st.write(res.text)
translator = GoogleTranslator(source='en', target='fa')
# Translate the text to Persian
translated_text = translator.translate(l[0])
url = 'https://pezhma.ir/save_data.php'
data = {'text_input': translated_text}
response = requests.post(url, data=data)
if response.status_code == 200:
index = response.text # Retrieve the index from the response
st.success(f'تفسیر آزمایش خود را با وارد کردن کد در باکس پایین بدست آورید: {index}')
else:
st.error('Error saving data')
# Display the translated text
#st.markdown(f"<div style='text-align: center; color: blue; font-size: 20px;'>{translated_text}</div>", unsafe_allow_html=True)
#if st.button('Delete'):
# clear_file()
#uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
#res.resolve()
# Display the uploaded image
#if uploaded_file is not None:
# image = Image.open(uploaded_file)
# res = mod.generate_content(["" + text_input, image], stream=True)
# res.resolve()
# l.append(res.text)
#st.image(image, caption='Uploaded Image', use_column_width=True)
# Button to print "Hey you"
|