def predict_and_observe(self, t, kind, data, R=None):
    if (len(data) > 0):
        data = np.atleast_2d(data)
    if (R is None):
        R = self.get_R(kind, len(data))
    self.filter.predict_and_update_batch(t, kind, data, R)
def predict_and_observe(self, t, kind, data, R=None):
    if (len(data) > 0):
        data = np.atleast_2d(data)
    if (R is None):
        R = self.get_R(kind, len(data))
    self.filter.predict_and_update_batch(t, kind, data, R)