Newer
Older
st.set_page_config(page_title="NIRS Utils", page_icon=":goat:", layout="wide")
# layout
UiComponents(pagespath = pages_folder, csspath= css_file,imgpath=image_path ,
header=True, sidebar= True, bgimg=True, colborders=False)
# Initialize session state
if 'form_submitted' not in st.session_state:
st.session_state['form_submitted'] = False
with st.container():
# Text input fields
st.subheader("Complete and save the following form with the data context",divider="blue")
st.warning('Make sure that the form is reliably completed, because the quality of the results depends mainly on it !', icon="⚠️")
with st.form(key = 'my_form'):
_,col1, col3,col2 = st.columns((0.1, 1.4, 0.5, 2))
with col1:
############## Project information ###########
st.subheader("Project information", divider="blue")
meta_project = st.text_input('Project name :')
meta_machine_ID = st.text_input('NIRS ID :',)
meta_scan_place_options = ["Pace", "Other"]
meta_scan_place = st.radio("Analysis Laboratory :", meta_scan_place_options)
meta_sample_species = st.text_input('Samples species (If relevant, provide the sample species; otherwise insert No):')
with col2:
clo3,_, col4,_ = st.columns([1, 0.2, 1, 0.3])
with clo3:
############## The Nature of the Samples ###########
if '' in [meta_project, meta_machine_ID,meta_sample_species]: disabled1 = True
else: disabled1 = False
st.subheader("The Nature of the Samples",divider="blue")
meta_sample_category_options = ["Soil", "Plant", "Animal", "Other"]
meta_sample_category = st.radio("Samples category :", [""] + meta_sample_category_options)
meta_sample_sub_category_options = ["Fresh leaves", "Leaf litter", "Litter", "Humus", "Soil", "Animal part", "Animal Powder", "Fungal sample", "Other"]
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
meta_sample_sub_category = st.radio("Sample category description :", [""] + meta_sample_sub_category_options)
with col4:
st.subheader("The Physical State of the Samples",divider="blue")
meta_sample_humidity_options = ["Dry", "Fresh", "Wet"]
meta_sample_humidity = st.radio("Humidity state of the sample :", [""] + meta_sample_humidity_options)
meta_sample_pretreatment_options = ["Powder", "Pastile", "Liquid"]
meta_sample_pretreatment = st.radio("Type of sample pre-treatment :", [""] + meta_sample_pretreatment_options)
# Création du dictionnaire avec les données du formulaire
form_data = {
"meta_project": meta_project,
"meta_sample_species": meta_sample_species,
"meta_sample_category": meta_sample_category,
"meta_sample_pretreatment": meta_sample_pretreatment,
"meta_machine_ID": meta_machine_ID,
"meta_sample_sub_category": meta_sample_sub_category,
"meta_sample_humidity": meta_sample_humidity,
"meta_scan_place": meta_scan_place
}
submitted = st.form_submit_button(label='Save')
if submitted:
if '' not in form_data.values():
# Save the form data here
st.session_state['form_submitted'] = True
st.success('Form was saved successfully!', icon="✅")
# Enregistrement des données dans un fichier JSON
with open('form_data.json', 'w') as json_file:
json.dump(form_data, json_file)
else:
st.error('Error: The form was not saved, please ensure the required fields are filled!')
if '' not in form_data.values():
match st.session_state['interface']:
case 'simple':
_, header3, header4 = st.columns([.2, .5, .5])
if header4.button("Models Creation & Predictions"):
st.switch_page(pages_folder / '2-model_creation.py')
case 'advanced':
_, header3, header4, header5 = st.columns([.2, .5, .5, .5])
if header4.button("Model Creation"):
st.switch_page(pages_folder / '2-model_creation.py')
if header5.button("Prediction"):
st.switch_page(pages_folder / '3-prediction.py')
if header3.button("Samples Selection"):
st.switch_page(pages_folder / '1-samples_selection.py')