It's definitely just "slicing", but it's a bit inconvenient. I'm thinking more like:
arr = np.random.rand(10, 10, 10) W = [[3, 2], [4, 6]] # or W = 4, or W = [4, 5] arr_padded = np.pad(arr, pad_width=W) < Do some stuff to arr_padded > arr = np.unpad(arr_padded, pad_width=W) # Using W just works, no matter how odd the various pad widths were On Mon, Apr 12, 2021 at 4:29 PM Stephan Hoyer <sho...@gmail.com> wrote: > The easy way to unpad an array is by indexing with slices, e.g., x[20:-4] > to undo a padding of [(20, 4)]. Just be careful about unpadding "zero" > elements on the right hand side, because Python interprets an ending slice > of zero differently -- you need to write something like x[20:] to undo > padding by [(20, 0)]. > > > On Mon, Apr 12, 2021 at 1:15 PM Jeff Gostick <jgost...@gmail.com> wrote: > >> I often find myself padding an array to do some processing on it (i.e. to >> avoid edge artifacts), then I need to remove the padding. I wish there >> was either a built in "unpad" function that accepted the same arguments as >> "pad", or that "pad" accepted negative numbers (e.g [-20, -4] would undo a >> padding of [20, 4]). This seems like a pretty obvious feature to me so >> maybe I've just missed something, but I have looked through all the open >> and closed issues on github and don't see anything related to this. >> >> >> Jeff G >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@python.org >> https://mail.python.org/mailman/listinfo/numpy-discussion >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion