docs: def interpolate_data(self, data, times, resampled_times):
          """ Interpolates data feature
  
          :param data: Array in a shape of t x nobs, where nobs = h x w x n
          :type data: numpy.ndarray
          :param times: Array of reference times in second relative to the first timestamp
          :type times: numpy.array
          :param resampled_times: Array of reference times in second relative to the first timestamp in initial timestamp
                                  array.
          :type resampled_times: numpy.array
          :return: Array of interpolated values
          :rtype: numpy.ndarray
          """
          if True in np.unique(np.isnan(data)):
              raise ValueError('Data must not contain any masked/invalid pixels or NaN values')
  
          interp_func = self.get_interpolation_function(times, data)
  
          time_mask = (resampled_times >= np.min(times)) & (resampled_times <= np.max(times))
          new_data = np.full((resampled_times.size,) + data.shape[1:], np.nan, dtype=data.dtype)
          new_data[time_mask] = interp_func(resampled_times[time_mask])
          return new_data