Caution
You're reading the documentation for a development version. For the latest released version, please have a look at 0.10.2.
librosa.util.pad_center
- librosa.util.pad_center(data, *, size, axis=-1, **kwargs)[source]
Pad an array to a target length along a target axis.
This differs from np.pad by centering the data prior to padding, analogous to str.center
- Parameters:
- datanp.ndarray
Vector to be padded and centered
- sizeint >= len(data) [scalar]
Length to pad
data
- axisint
Axis along which to pad and center the data
- **kwargsadditional keyword arguments
arguments passed to np.pad
- Returns:
- data_paddednp.ndarray
data
centered and padded to lengthsize
along the specified axis
- Raises:
- ParameterError
If
size < data.shape[axis]
See also
Examples
>>> # Generate a vector >>> data = np.ones(5) >>> librosa.util.pad_center(data, size=10, mode='constant') array([ 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.])
>>> # Pad a matrix along its first dimension >>> data = np.ones((3, 5)) >>> librosa.util.pad_center(data, size=7, axis=0) array([[ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.]]) >>> # Or its second dimension >>> librosa.util.pad_center(data, size=7, axis=1) array([[ 0., 1., 1., 1., 1., 1., 0.], [ 0., 1., 1., 1., 1., 1., 0.], [ 0., 1., 1., 1., 1., 1., 0.]])