polymer-aging-ml / Upload_and_Run.py
devjas1
(CONFIG/NAME)[Implement Upload_and_Run.py and Update References]: Change landing page name `app.py` β†’ `Upload_and_Run.py` for main application logic and update README and Dockerfile to reflect new entry point.
0218933
# In Upload_and_Run.py
import streamlit as st
from modules.callbacks import init_session_state
from modules.ui_components import (
render_sidebar,
render_results_column,
render_input_column,
render_comparison_tab,
render_performance_tab,
load_css,
)
from modules.training_ui import render_training_tab
from utils.image_processing import render_image_upload_interface
st.set_page_config(
page_title="ML Polymer Classification",
page_icon="πŸ”¬",
layout="wide",
initial_sidebar_state="expanded",
menu_items=None,
)
def main():
"""Modularized main content to other scripts to clean the main app"""
load_css("static/style.css")
init_session_state()
render_sidebar()
# Create main tabs for different analysis modes
tab1, tab2, tab3, tab4, tab5 = st.tabs(
[
"Standard Analysis",
"Model Comparison",
"Model Training",
"Image Analysis",
"Performance Tracking",
]
)
with tab1:
# Standard single-model analysis
col1, col2 = st.columns([1, 1.35], gap="small")
with col1:
render_input_column()
with col2:
render_results_column()
with tab2:
# Multi-model comparison interface
render_comparison_tab()
with tab3:
# Model training interface
render_training_tab()
with tab4:
# Image analysis interface
render_image_upload_interface()
with tab5:
# Performance tracking interface
render_performance_tab()
if __name__ == "__main__":
main()