(data, *, size, axis=-1, **kwargs)
| 89 | |
| 90 | |
| 91 | def pad_center(data, *, size, axis=-1, **kwargs): |
| 92 | kwargs.setdefault("mode", "constant") |
| 93 | |
| 94 | n = data.shape[axis] |
| 95 | |
| 96 | lpad = int((size - n) // 2) |
| 97 | |
| 98 | lengths = [(0, 0)] * data.ndim |
| 99 | lengths[axis] = (lpad, int(size - n - lpad)) |
| 100 | |
| 101 | if lpad < 0: |
| 102 | raise RuntimeError( |
| 103 | ("Target size ({:d}) must be " "at least input size ({:d})").format(size, n) |
| 104 | ) |
| 105 | |
| 106 | return np.pad(data, lengths, **kwargs) |
| 107 | |
| 108 | |
| 109 | def expand_to(x, *, ndim, axes): |