diff --git a/navipy/database/__init__.py b/navipy/database/__init__.py index 0a3f5fb1ae3ab758fcecad263665c16754679171..1ba96971e5f845c3eb248624b0f6e9d8a05e2242 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 feb9630dadf8e77074d2b3fc10e300d7057c9cfa..989253d6c0a2df1b544b89452a88c437bca4693e 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 1f2856db9bb50e336d39739df671a43d2623f6c6..8051f6583fa29dc93bf16c66517a939eb173798d 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']