From 11f79450de083dffb3aff6db0c8ebc3e88bf348d Mon Sep 17 00:00:00 2001
From: Peter Luenenschloss <peter.luenenschloss@ufz.de>
Date: Wed, 29 Apr 2020 13:40:52 +0200
Subject: [PATCH] added pinear/polynomial interpolation wrapper to ts_operators
 and to the operators dictionary

---
 saqc/lib/tools.py        | 4 +++-
 saqc/lib/ts_operators.py | 8 ++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/saqc/lib/tools.py b/saqc/lib/tools.py
index 18d9048a7..030fb5ae1 100644
--- a/saqc/lib/tools.py
+++ b/saqc/lib/tools.py
@@ -37,7 +37,9 @@ SAQC_OPERATORS = {
     "normScale": ts_ops.normScale,
     "meanStandardize": ts_ops.standardizeByMean,
     "medianStandardize": ts_ops.standardizeByMedian,
-    "zLog": ts_ops.zeroLog
+    "zLog": ts_ops.zeroLog,
+    "linear": ts_ops.linearInterpolation,
+    "polynomial": ts_ops.polynomialInterpolation
 }
 
 
diff --git a/saqc/lib/ts_operators.py b/saqc/lib/ts_operators.py
index d72dcf934..5e7ed0b1c 100644
--- a/saqc/lib/ts_operators.py
+++ b/saqc/lib/ts_operators.py
@@ -228,6 +228,14 @@ def interpolateNANs(data, method, order=2, inter_limit=2, downgrade_interpolatio
         return data
 
 
+def linearInterpolation(data, inter_limit=2):
+    return interpolateNANs(data, 'time', inter_limit=inter_limit)
+
+
+def polynomialInterpolation(data, inter_limit=2, inter_order=2):
+    return interpolateNANs(data, 'polynomial', inter_limit=inter_limit, order=inter_order)
+
+
 def leaderClustering(in_arr, ball_radius=None):
     x_len = in_arr.shape[0]
     x_cols = in_arr.shape[1]
-- 
GitLab