Update HYS_config.yaml, HYS_process.py, and operation_tools.py for movement revision and event mask handling

This commit is contained in:
marques 2025-11-07 14:48:42 +08:00
parent 2a2604a323
commit fd7941a80a
3 changed files with 12 additions and 5 deletions

View File

@ -132,6 +132,7 @@ def process_one_signal(samp_id):
resp_movement_revise_conf = conf.get("resp_movement_revise", None)
if resp_movement_mask is not None and resp_movement_revise_conf is not None:
print(resp_movement_position_list)
resp_movement_mask, resp_movement_position_list = signal_method.movement_revise(
signal_data=resp_data,
movement_mask=resp_movement_mask,
@ -236,4 +237,4 @@ if __name__ == '__main__':
all_samp_disable_df = utils.read_disable_excel(disable_df_path)
process_one_signal(select_ids[0])
process_one_signal(select_ids[7])

View File

@ -36,7 +36,7 @@ resp_movement:
compare_intervals_sec:
- 60
- 120
- 180
# - 180
interval_multiplier: 3.5
merge_gap_sec: 30
min_duration_sec: 1

View File

@ -210,9 +210,15 @@ def generate_event_mask(signal_second: int, event_df):
return event_mask, score_mask
def event_mask_2_list(mask):
mask_start = np.where(np.diff(mask, append=0) == -1)[0]
mask_end = np.where(np.diff(mask, append=0) == 1)[0] + 1
def event_mask_2_list(mask, event_true=True):
if event_true:
event_2_normal = 1
normal_2_event = -1
else:
event_2_normal = -1
normal_2_event = 1
mask_start = np.where(np.diff(mask, append=0) == normal_2_event)[0]
mask_end = np.where(np.diff(mask, append=0) == normal_2_event)[0] + 1
event_list =[[start, end] for start, end in zip(mask_start, mask_end)]
return event_list