diff --git a/skais/ais/ais_trajectory.py b/skais/ais/ais_trajectory.py index c4286bf250041bd3f11c3daa788d0ac48fd202fb..7b504a0413a6edae3f1b1f13f635f92eb96417f4 100644 --- a/skais/ais/ais_trajectory.py +++ b/skais/ais/ais_trajectory.py @@ -26,7 +26,12 @@ def compute_trajectory(times, time_gap): def apply_func_on_window(dat, func, radius, on_edge='copy'): result = np.zeros(dat.shape) if on_edge == 'copy': - dat = np.concatenate([np.repeat(dat[0], radius), dat, np.repeat(dat[-1], radius)]) + if len(dat.shape) == 1: + dat = np.concatenate([np.full(radius, dat[0]), dat, np.full(radius, dat[-1])]) + else: + dat = np.concatenate([np.repeat(np.array(dat[0]).reshape((1, len(dat[0]))), radius, axis=0), + dat, + np.repeat(np.array(dat[-1]).reshape((1, len(dat[-1]))), radius, axis=0)]) for i in range(radius, dat.shape[0] - radius): data = dat[i - radius:i + radius + 1] result[i - radius] = func(data)