m7mdal7aj's picture
Update my_model/utilities/st_utils.py
a93f397 verified
raw
history blame
3.03 kB
import streamlit as st
class UIManager:
def __init__(self, state_manager):
self.state_manager = state_manager
def display_sidebar_navigation(self):
st.sidebar.title("Navigation")
return st.sidebar.radio("Go to", ["Home", "Dataset Analysis", "Evaluation Results", "Run Inference", "Dissertation Report"])
def display_home_page(self):
st.title("MultiModal Learning for Knowledge-Based Visual Question Answering")
st.write("Home page content goes here...")
def display_dissertation_report(self):
st.title("Dissertation Report")
st.write("Click the link below to view the PDF.")
with open("Files/Dissertation Report.pdf", "rb") as file:
st.download_button(label="Download PDF", data=file, file_name="Dissertation_Report.pdf", mime="application/octet-stream")
def display_evaluation_results(self):
st.title("Evaluation Results")
st.write("This is a Place Holder until the contents are uploaded.")
def display_dataset_analysis(self):
st.title("OK-VQA Dataset Analysis")
st.write("This is a Place Holder until the contents are uploaded.")
class StateManager:
def __init__(self):
self.reset_state()
def reset_state(self):
"""Resets the state to its initial values."""
self.current_image = None
self.qa_history = []
self.analysis_done = False
self.answer_in_progress = False
self.caption = ""
self.detected_objects_str = ""
def set_current_image(self, image):
"""Sets the current image and resets relevant state variables."""
try:
self.current_image = image
self.qa_history = []
self.analysis_done = False
self.answer_in_progress = False
self.caption = ""
self.detected_objects_str = ""
except Exception as e:
print(f"Error setting current image: {e}")
def add_to_qa_history(self, question, answer):
"""Adds a question-answer pair to the history."""
if question and answer:
self.qa_history.append((question, answer))
else:
print("Invalid question or answer. Cannot add to history.")
def set_analysis_done(self, status=True):
"""Sets the analysis status."""
self.analysis_done = status
def set_answer_in_progress(self, status=True):
"""Sets the answer in progress status."""
self.answer_in_progress = status
def set_caption(self, caption):
"""Sets the image caption."""
if caption:
self.caption = caption
else:
print("Invalid caption. Cannot set caption.")
def set_detected_objects_str(self, detected_objects_str):
"""Sets the detected objects string."""
if detected_objects_str:
self.detected_objects_str = detected_objects_str
else:
print("Invalid detected objects string. Cannot set detected objects.")