2020import streamlit as st
2121import streamlit_nested_layout
2222from aind_auto_train import __version__ as auto_train_version
23- from aind_auto_train .auto_train_manager import DynamicForagingAutoTrainManager
24- from aind_auto_train .curriculum_manager import CurriculumManager
2523from pygwalker .api .streamlit import StreamlitRenderer , init_streamlit_comm
26- from util .aws_s3 import (draw_session_plots_quick_preview , load_data ,
24+ from util .aws_s3 import (draw_session_plots_quick_preview ,
25+ load_data ,
26+ load_auto_train ,
2727 show_debug_info ,
2828 show_session_level_img_by_key_and_prefix )
2929from util .fetch_data_docDB import load_data_from_docDB
@@ -287,6 +287,8 @@ def plot_x_y_session():
287287def show_curriculums ():
288288 pass
289289
290+
291+
290292# ------- Layout starts here -------- #
291293def init (if_load_bpod_data_override = None , if_load_docDB_override = None ):
292294
@@ -323,23 +325,10 @@ def init(if_load_bpod_data_override=None, if_load_docDB_override=None):
323325 for source in ["dataframe" , "plotly" ]:
324326 st .session_state [f'df_selected_from_{ source } ' ] = pd .DataFrame (columns = ['h2o' , 'session' ])
325327
326- # Init auto training database
327- st .session_state .curriculum_manager = CurriculumManager (
328- saved_curriculums_on_s3 = dict (
329- bucket = 'aind-behavior-data' ,
330- root = 'foraging_auto_training/saved_curriculums/'
331- ),
332- saved_curriculums_local = os .path .expanduser ('~/curriculum_manager/' ),
333- )
334- st .session_state .auto_train_manager = DynamicForagingAutoTrainManager (
335- manager_name = '447_demo' ,
336- df_behavior_on_s3 = dict (bucket = 'aind-behavior-data' ,
337- root = 'foraging_nwb_bonsai_processed/' ,
338- file_name = 'df_sessions.pkl' ),
339- df_manager_root_on_s3 = dict (bucket = 'aind-behavior-data' ,
340- root = 'foraging_auto_training/' )
341- )
342-
328+ # Load autotrain
329+ auto_train_manager , curriculum_manager = load_auto_train ()
330+ st .session_state .auto_train_manager = auto_train_manager
331+ st .session_state .curriculum_manager = curriculum_manager
343332
344333 # Some ad-hoc modifications on df_sessions
345334 _df = st .session_state .df ['sessions_bonsai' ] # temporary df alias
@@ -544,7 +533,7 @@ def app():
544533 # with col1:
545534 # -- 1. unit dataframe --
546535
547- cols = st .columns ([2 , 4 , 1 ])
536+ cols = st .columns ([4 , 4 , 4 , 1 ])
548537 cols [0 ].markdown (f'### Filter the sessions on the sidebar\n '
549538 f'##### { len (st .session_state .df_session_filtered )} sessions, '
550539 f'{ len (st .session_state .df_session_filtered .h2o .unique ())} mice filtered' )
@@ -570,7 +559,7 @@ def app():
570559 init ()
571560 st .rerun () # Reload the page to apply the changes
572561
573- table_height = slider_wrapper_for_url_query (st_prefix = cols [2 ],
562+ table_height = slider_wrapper_for_url_query (st_prefix = cols [- 1 ],
574563 label = 'Table height' ,
575564 min_value = 0 ,
576565 max_value = 2000 ,
@@ -583,7 +572,8 @@ def app():
583572
584573
585574 if len (st .session_state .df_session_filtered ) == 0 :
586- st .markdown ('## No filtered results!' )
575+ st .markdown ('## No filtered results! :thinking_face:' )
576+ st .markdown ('### :bulb: Try clicking "Reset filters" and add your filters again!' )
587577 return
588578
589579 aggrid_outputs = aggrid_interactive_table_session (
@@ -702,7 +692,7 @@ def add_main_tabs():
702692 st .markdown ("#### Select auto training curriculums" )
703693
704694 # Curriculum drop down selector
705- cols = st .columns ([0.8 , 0.5 , 0.8 , 4 ])
695+ cols = st .columns ([0.8 , 0.8 , 0.8 , 3 ])
706696 cols [3 ].markdown (f"(aind_auto_train lib version = { auto_train_version } )" )
707697
708698 options = list (df_curriculums ['curriculum_name' ].unique ())
0 commit comments