tstone87 commited on
Commit
cd07504
·
verified ·
1 Parent(s): ebb9e28

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -15
app.py CHANGED
@@ -67,10 +67,6 @@ except Exception as ex:
67
  st.error(f"Unable to load model. Check the specified path: {model_path}")
68
  st.error(ex)
69
 
70
- # We'll use a session_state variable to remember the current slider value.
71
- if "frame_slider" not in st.session_state:
72
- st.session_state.frame_slider = 0
73
-
74
  # A container to display the currently viewed frame.
75
  viewer_slot = st.empty()
76
 
@@ -135,26 +131,24 @@ if st.sidebar.button("Let's Detect Wildfire"):
135
  else:
136
  progress_text.text(f"Processing frame {frame_count}")
137
 
138
- # Only update slider if we have at least one processed frame.
139
  if len(processed_frames) > 0:
140
- # Clear the previous slider widget.
141
  slider_container.empty()
142
- # Determine the current slider value.
143
- curr_slider_val = st.session_state.get("frame_slider", len(processed_frames)-1)
144
- # Ensure the slider value is within the new bounds.
145
- if curr_slider_val > len(processed_frames)-1:
146
- curr_slider_val = len(processed_frames)-1
147
- # Create a new slider. This slider's key is fixed because we cleared the container beforehand.
148
  slider_val = slider_container.slider(
149
  "Frame Viewer",
150
  min_value=0,
151
  max_value=len(processed_frames)-1,
152
- value=curr_slider_val,
153
  step=1,
154
  key="frame_slider"
155
  )
156
- st.session_state.frame_slider = slider_val
157
-
158
  # If the user is at the most recent frame, update the viewer.
159
  if slider_val == len(processed_frames)-1:
160
  viewer_slot.image(processed_frames[-1], caption=f"Frame {len(processed_frames)-1}", use_column_width=True)
 
67
  st.error(f"Unable to load model. Check the specified path: {model_path}")
68
  st.error(ex)
69
 
 
 
 
 
70
  # A container to display the currently viewed frame.
71
  viewer_slot = st.empty()
72
 
 
131
  else:
132
  progress_text.text(f"Processing frame {frame_count}")
133
 
134
+ # Update slider only if we have at least one processed frame.
135
  if len(processed_frames) > 0:
136
+ # Clear previous slider widget.
137
  slider_container.empty()
138
+ # Use the slider widget's own value from session_state, or default to the last frame.
139
+ default_val = st.session_state.get("frame_slider", len(processed_frames)-1)
140
+ # Ensure default value is within bounds.
141
+ if default_val > len(processed_frames)-1:
142
+ default_val = len(processed_frames)-1
143
+ # Create the slider. The key "frame_slider" will automatically update st.session_state.
144
  slider_val = slider_container.slider(
145
  "Frame Viewer",
146
  min_value=0,
147
  max_value=len(processed_frames)-1,
148
+ value=default_val,
149
  step=1,
150
  key="frame_slider"
151
  )
 
 
152
  # If the user is at the most recent frame, update the viewer.
153
  if slider_val == len(processed_frames)-1:
154
  viewer_slot.image(processed_frames[-1], caption=f"Frame {len(processed_frames)-1}", use_column_width=True)