jiehou commited on
Commit
cfabc1b
·
verified ·
1 Parent(s): a02cdb7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -10
app.py CHANGED
@@ -298,23 +298,22 @@ def generate_windows_from_selection(selected_indices, window_size, window_type):
298
 
299
  windows = []
300
  if window_type == "contiguous":
 
301
  for i in range(len(selected_indices) - window_size + 1):
302
  windows.append(selected_indices[i:i+window_size])
303
  else: # non-contiguous
304
  from itertools import combinations
305
  all_combos = list(combinations(selected_indices, window_size))
306
 
307
- # Filter out contiguous combinations
308
- for combo in all_combos:
309
- combo_list = list(combo)
310
- # Check if this combination is contiguous in the ORIGINAL indices
311
- is_contiguous = all(combo_list[i+1] - combo_list[i] == 1 for i in range(len(combo_list)-1))
312
- if not is_contiguous:
313
- windows.append(combo_list)
314
 
315
- # If no non-contiguous windows found, return empty (or you could return all combinations)
316
- if not windows:
317
- st.warning(f"⚠️ No non-contiguous combinations found for window size {window_size}")
 
318
 
319
  return windows
320
 
 
298
 
299
  windows = []
300
  if window_type == "contiguous":
301
+ # Only sliding windows
302
  for i in range(len(selected_indices) - window_size + 1):
303
  windows.append(selected_indices[i:i+window_size])
304
  else: # non-contiguous
305
  from itertools import combinations
306
  all_combos = list(combinations(selected_indices, window_size))
307
 
308
+ # Get the contiguous windows (to exclude them)
309
+ contiguous_windows = []
310
+ for i in range(len(selected_indices) - window_size + 1):
311
+ contiguous_windows.append(tuple(selected_indices[i:i+window_size]))
 
 
 
312
 
313
+ # Filter: keep only combinations that are NOT in contiguous_windows
314
+ for combo in all_combos:
315
+ if combo not in contiguous_windows:
316
+ windows.append(list(combo))
317
 
318
  return windows
319