From f63567c81326840d72cd1439a701ccbd7119f5b7 Mon Sep 17 00:00:00 2001
From: Raphael <raphael.sturgis@gmail.com>
Date: Thu, 18 Nov 2021 15:19:00 +0100
Subject: [PATCH] multi column operations

---
 skais/ais/ais_trajectory.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/skais/ais/ais_trajectory.py b/skais/ais/ais_trajectory.py
index c4286bf..7b504a0 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)
-- 
GitLab