From 576f3d35d750ccfb98e2f9cc4188909ee5613b36 Mon Sep 17 00:00:00 2001
From: "Olivier J.N. Bertrand" <olivier.bertrand@uni-bielefeld.de>
Date: Tue, 15 Jan 2019 14:47:59 +0100
Subject: [PATCH] Move columns for posorient and vel in trajectories

---
 navipy/database/__init__.py         |  1 +
 navipy/processing/test_opticflow.py |  4 ++--
 navipy/trajectories/__init__.py     | 25 +++++++++++++++++++++++--
 3 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/navipy/database/__init__.py b/navipy/database/__init__.py
index 0a3f5fb..1ba9697 100644
--- a/navipy/database/__init__.py
+++ b/navipy/database/__init__.py
@@ -195,6 +195,7 @@ class DataBase():
                 WHERE (rowid=?)
                 """.format(tablename), (rowid,))
             self.__viewing_dir = self.db_cursor.fetchone()[0]
+            self.__viewing_dir = np.round(self.__viewing_dir, decimals=3)
         return self.__viewing_dir.copy()
 
     @viewing_directions.setter
diff --git a/navipy/processing/test_opticflow.py b/navipy/processing/test_opticflow.py
index feb9630..989253d 100644
--- a/navipy/processing/test_opticflow.py
+++ b/navipy/processing/test_opticflow.py
@@ -2,8 +2,8 @@ import unittest
 from navipy.processing import mcode
 import pandas as pd
 import numpy as np
-from navipy.moving.agent import posorient_columns
-from navipy.moving.agent import velocities_columns
+from navipy.trajectories import posorient_columns
+from navipy.trajectories import velocities_columns
 from navipy.scene import __spherical_indeces__
 
 
diff --git a/navipy/trajectories/__init__.py b/navipy/trajectories/__init__.py
index 1f2856d..8051f65 100644
--- a/navipy/trajectories/__init__.py
+++ b/navipy/trajectories/__init__.py
@@ -20,9 +20,30 @@ from scipy.interpolate import CubicSpline
 import warnings
 
 
+def posorient_columns(convention):
+    toreturn = [('location', 'x'),
+                ('location', 'y'),
+                ('location', 'z')]
+    if convention == 'quaternion':
+        for a in range(4):
+            toreturn.append((convention, 'q_{}'.format(a)))
+    else:
+        for a in range(3):
+            toreturn.append((convention, 'alpha_{}'.format(a)))
+    return toreturn
+
+
+def velocities_columns(convention):
+    toreturn = []
+    # Prepend d on dimention for derivative
+    for it1, it2 in posorient_columns(convention):
+        toreturn.append((it1, 'd'+it2))
+    return toreturn
+
+
 def _markers2position(x, kwargs):
-    mark0 = pd.Series(x[:3], index=['x', 'y', 'z'])
-    mark1 = pd.Series(x[3:6], index=['x', 'y', 'z'])
+    mark0 = pd.Series(x[: 3], index=['x', 'y', 'z'])
+    mark1 = pd.Series(x[3: 6], index=['x', 'y', 'z'])
     mark2 = pd.Series(x[6:], index=['x', 'y', 'z'])
     triangle_mode = kwargs['triangle_mode']
     euler_axes = kwargs['euler_axes']
-- 
GitLab