From 2d8d8c1e53a7b73b8547adc9d40751040b20f024 Mon Sep 17 00:00:00 2001
From: Peter Luenenschloss <peter.luenenschloss@ufz.de>
Date: Sat, 26 Sep 2020 16:01:31 +0200
Subject: [PATCH] changepoint detection - bx

---
 saqc/funcs/functions.py | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/saqc/funcs/functions.py b/saqc/funcs/functions.py
index 8a07acb86..88120b4c3 100644
--- a/saqc/funcs/functions.py
+++ b/saqc/funcs/functions.py
@@ -1049,9 +1049,7 @@ def flagDriftFromReference(data, field, flagger, fields, segment_freq, thresh,
     return data, flagger
 
 @numba.jit(nopython=True)
-def _slidingWindowSearch(data_arr, bwd_start, fwd_end, stat_func, thresh_func):
-    result_arr = np.zeros(len(data_arr) - 1)
-
+def _slidingWindowSearch(data_arr, bwd_start, fwd_end, stat_func, thresh_func, result_arr):
     for win_i in range(1, len(data_arr)):
         x = data_arr[bwd_start[win_i - 1]:win_i]
         y = data_arr[win_i:fwd_end[win_i - 1]]
@@ -1113,6 +1111,7 @@ def flagChangePoints(data, field, flagger, stat_func, thresh_func, bwd_window, m
     fwd_start, fwd_end = np.roll(fwd_start, -1), np.roll(fwd_end, -1)
 
     data_arr = data_ser.values
-    result_arr = _slidingWindowSearch(data_arr, bwd_start, fwd_end, stat_func, thresh_func)
-    flagger = flagger.setFlags(field, loc=result_arr[result_arr])
+    result_arr = np.array([False] * var_len, dtype=bool)
+    result_arr = _slidingWindowSearch(data_arr, bwd_start, fwd_end, stat_func, thresh_func, result_arr)
+    flagger = flagger.setFlags(field, loc=result_arr)
     return data, flagger
\ No newline at end of file
-- 
GitLab