comparison trafficintelligence/moving.py @ 1207:36f0d18e1fad

work in progress on loading kitti (issue with int)
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 26 Apr 2023 18:33:29 -0400
parents 3905b393ade0
children 2064e52019db
comparison
equal deleted inserted replaced
1205:3905b393ade0 1207:36f0d18e1fad
2 '''Libraries for moving objects, trajectories...''' 2 '''Libraries for moving objects, trajectories...'''
3 3
4 import copy 4 import copy
5 from math import sqrt, atan2, cos, sin 5 from math import sqrt, atan2, cos, sin
6 6
7 from numpy import median, mean, array, arange, zeros, ones, hypot, NaN, std, floor, ceil, float32, argwhere, minimum 7 from numpy import median, mean, array, arange, zeros, ones, hypot, NaN, std, floor, ceil, float32, argwhere, minimum, issubdtype, integer as npinteger
8 from matplotlib.pyplot import plot, text 8 from matplotlib.pyplot import plot, text
9 from scipy.stats import scoreatpercentile 9 from scipy.stats import scoreatpercentile
10 from scipy.spatial.distance import cdist 10 from scipy.spatial.distance import cdist
11 from scipy.signal import savgol_filter 11 from scipy.signal import savgol_filter
12 12
718 718
719 def empty(self): 719 def empty(self):
720 return self.__len__() == 0 720 return self.__len__() == 0
721 721
722 def __getitem__(self, i): 722 def __getitem__(self, i):
723 if isinstance(i, int): 723 if isinstance(i, int) or issubdtype(i, npinteger):
724 return Point(self.positions[0][i], self.positions[1][i]) 724 return Point(self.positions[0][i], self.positions[1][i])
725 elif isinstance(i, slice): 725 elif isinstance(i, slice):
726 return Trajectory([self.positions[0][i],self.positions[1][i]]) 726 return Trajectory([self.positions[0][i],self.positions[1][i]])
727 else: 727 else:
728 raise TypeError("Invalid argument type.") 728 raise TypeError("Invalid argument type.")