in multiple_futures_prediction/dataset_ngsim.py [0:0]
def getHistory(self, vehId: int, t: int, refVehId: int, dsId: int) -> np.ndarray:
"""Get trajectory history. VehId and refVehId are 1-based."""
if vehId == 0:
return np.empty([0,2])
else:
if self.T.shape[1]<=vehId-1:
return np.empty([0,2])
vehTrack = self.T[dsId-1][vehId-1].transpose()
if vehTrack.size==0 or np.argwhere(vehTrack[:, 0] == t).size==0:
return np.empty([0,2])
else:
refTrack = self.T[dsId-1][refVehId-1].transpose()
found = np.where(refTrack[:,0]==t)
refPos = refTrack[found][0,1:3]
stpt = np.maximum(0, np.argwhere(vehTrack[:, 0] == t).item() - self.t_h)
enpt = np.argwhere(vehTrack[:, 0] == t).item() + 1
hist = vehTrack[stpt:enpt:self.d_s,1:3]-refPos
if self.data_aug:
hist += np.random.randn( hist.shape[0],hist.shape[1] )*self.noise
if len(hist) < self.t_h//self.d_s + 1:
return np.empty([0,2])
return hist