Multivariate Pattern Analysis in Python

# mvpa2.mappers.filters.resample

`mvpa2.mappers.filters.``resample`(x, num, t=None, axis=0, window=None)

  Resample `x` to `num` samples using Fourier method along the given axis.

  The resampled signal starts at the same value as `x` but is sampled with a spacing of `len(x) / num * (spacing of x)`. Because a Fourier method is used, the signal is assumed to be periodic.

  Parameters:

  x : array_like

  > The data to be resampled.

  num : int

  > The number of samples in the resampled signal.

  t : array_like, optional

  > If `t` is given, it is assumed to be the sample positions associated with the signal data in `x`.

  axis : int, optional

  > The axis of `x` that is resampled. Default is 0.

  window : array_like, callable, string, float, or tuple, optional

  > Specifies the window applied to the signal in the Fourier domain. See below for details.

  Returns:

  resampled_x or (resampled_x, resampled_t)

  > Either the resampled array, or, if `t` was given, a tuple containing the resampled array and the corresponding resampled positions.

  Notes

  The argument `window` controls a Fourier-domain window that tapers the Fourier spectrum before zero-padding to alleviate ringing in the resampled values for sampled signals you didn’t intend to be interpreted as band-limited.

  If `window` is a function, then it is called with a vector of inputs indicating the frequency bins (i.e. fftfreq(x.shape[axis]) ).

  If `window` is an array of the same length as `x.shape[axis]` it is assumed to be the window to be applied directly in the Fourier domain (with dc and low-frequency first).

  For any other type of `window`, the function `scipy.signal.get_window` is called to generate the window.

  The first sample of the returned vector is the same as the first sample of the input vector. The spacing between samples is changed from `dx` to `dx * len(x) / num`.

  If `t` is not None, then it represents the old sample positions, and the new sample positions will be returned as well as the new samples.

  As noted, `resample` uses FFT transformations, which can be very slow if the number of input samples is large and prime, see `scipy.fftpack.fft`.