Spaces:
Running
Running
Commit
·
0bec306
1
Parent(s):
550800a
file upload gallery
Browse files
app.py
CHANGED
@@ -6,6 +6,7 @@ import numpy as np
|
|
6 |
from itertools import chain
|
7 |
from PIL import Image
|
8 |
from io import BytesIO
|
|
|
9 |
import pandas as pd
|
10 |
from typing import Union
|
11 |
from google.oauth2 import service_account
|
@@ -550,7 +551,43 @@ def delete_directory(dir_path):
|
|
550 |
# except Exception as e:
|
551 |
# with message_loc:
|
552 |
# st.error(f"Google PaLM 2 API Key Failed:exclamation: {e}")
|
553 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
|
555 |
def save_changes_to_API_keys(cfg_private,openai_api_key,azure_openai_api_version,azure_openai_api_key,
|
556 |
azure_openai_api_base,azure_openai_organization,azure_openai_api_type,google_vision,google_palm):
|
@@ -1106,8 +1143,9 @@ def content_tab_settings():
|
|
1106 |
if st.session_state['input_list']:
|
1107 |
st.subheader('Image Gallery')
|
1108 |
# selected_img = image_select("Uploaded Images Ready for Transcription", st.session_state['input_list'], use_container_width=False)
|
1109 |
-
st.image(st.session_state['input_list'])
|
1110 |
-
|
|
|
1111 |
|
1112 |
with col_cropped_1:
|
1113 |
default_crops = st.session_state.config['leafmachine']['cropped_components'].get('save_cropped_annotations', ['leaf_whole'])
|
|
|
6 |
from itertools import chain
|
7 |
from PIL import Image
|
8 |
from io import BytesIO
|
9 |
+
import base64
|
10 |
import pandas as pd
|
11 |
from typing import Union
|
12 |
from google.oauth2 import service_account
|
|
|
551 |
# except Exception as e:
|
552 |
# with message_loc:
|
553 |
# st.error(f"Google PaLM 2 API Key Failed:exclamation: {e}")
|
554 |
+
def display_image_gallery():
|
555 |
+
"""
|
556 |
+
Display an image gallery from st.session_state['input_list'] in a scrollable container.
|
557 |
+
Each image will have a maximum width of 500 pixels.
|
558 |
+
"""
|
559 |
+
# Initialize the container
|
560 |
+
con_image = st.empty()
|
561 |
+
with con_image.container():
|
562 |
+
# Loop through each image in the input list
|
563 |
+
for image_path in st.session_state['input_list']:
|
564 |
+
# Convert the image to base64 (assuming you have this utility function)
|
565 |
+
base64_image = image_to_base64(image_path)
|
566 |
+
|
567 |
+
# Embed the image with the determined width in the custom div
|
568 |
+
img_html = f"""
|
569 |
+
<div style='display: inline-block; padding: 10px; max-width: 50px;'>
|
570 |
+
<img src='data:image/jpeg;base64,{base64_image}' alt='Image' style='max-width: 100%; height: auto;'>
|
571 |
+
</div>
|
572 |
+
"""
|
573 |
+
|
574 |
+
# Apply the image with HTML
|
575 |
+
st.markdown(img_html, unsafe_allow_html=True)
|
576 |
+
|
577 |
+
# The CSS to make the images display inline and be responsive
|
578 |
+
css = """
|
579 |
+
<style>
|
580 |
+
@media (max-width: 50px) {
|
581 |
+
.scrollable-image-container img {
|
582 |
+
max-width: 100%;
|
583 |
+
height: 300px;
|
584 |
+
height: auto;
|
585 |
+
}
|
586 |
+
}
|
587 |
+
</style>
|
588 |
+
"""
|
589 |
+
# Apply the CSS
|
590 |
+
st.markdown(css, unsafe_allow_html=True)
|
591 |
|
592 |
def save_changes_to_API_keys(cfg_private,openai_api_key,azure_openai_api_version,azure_openai_api_key,
|
593 |
azure_openai_api_base,azure_openai_organization,azure_openai_api_type,google_vision,google_palm):
|
|
|
1143 |
if st.session_state['input_list']:
|
1144 |
st.subheader('Image Gallery')
|
1145 |
# selected_img = image_select("Uploaded Images Ready for Transcription", st.session_state['input_list'], use_container_width=False)
|
1146 |
+
# st.image(st.session_state['input_list'])
|
1147 |
+
display_image_gallery()
|
1148 |
+
# st.button("Clear Staged Images",on_click=delete_directory, args=[st.session_state['dir_uploaded_images']])
|
1149 |
|
1150 |
with col_cropped_1:
|
1151 |
default_crops = st.session_state.config['leafmachine']['cropped_components'].get('save_cropped_annotations', ['leaf_whole'])
|