def getHistory()

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