From 4e7808ac0cd3dfd2b20307bb9133d9fec782dd26 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Sun, 17 Mar 2024 06:30:39 -0600 Subject: [PATCH] Normalize motion data in chunks (#10497) --- frigate/api/review.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/frigate/api/review.py b/frigate/api/review.py index 008bcdb0b..21eed5297 100644 --- a/frigate/api/review.py +++ b/frigate/api/review.py @@ -390,11 +390,17 @@ def motion_activity(): .apply(lambda x: max(x, key=abs, default=0.0)) .fillna(0.0) ) - df["motion"] = ( - (df["motion"] - df["motion"].min()) - / (df["motion"].max() - df["motion"].min()) - * 100 - ) + + length = df.shape[0] + chunk = int(60 * (60 / scale)) + + for i in range(0, length, chunk): + part = df.iloc[i : i + chunk] + df.iloc[i : i + chunk, 0] = ( + (part["motion"] - part["motion"].min()) + / (part["motion"].max() - part["motion"].min()) + * 100 + ) # change types for output df.index = df.index.astype(int) // (10**9)