If I have size d np.array , how can I get pointers to the border?
For example, in 2d,
test = np.arange(16).reshape((4, 4)) test array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]])
Now I would like to get the boundaries
array([[ True, True, True, True], [ True, False, False, True], [ True, False, False, True], [ True, True, True, True]])
Itβs great if it is effective and works for an arbitrary number of dimensions, but it should work at least 3. The array is not necessarily a hypercube, but perhaps a hyperreceptor: the number of grid points in all dimensions is not necessarily the same, unlike the example.
For an array of form (4, 5, 6) expected result
array([[[ True, True, True, True, True, True], [ True, True, True, True, True, True], [ True, True, True, True, True, True], [ True, True, True, True, True, True], [ True, True, True, True, True, True]], [[ True, True, True, True, True, True], [ True, False, False, False, False, True], [ True, False, False, False, False, True], [ True, False, False, False, False, True], [ True, True, True, True, True, True]], [[ True, True, True, True, True, True], [ True, False, False, False, False, True], [ True, False, False, False, False, True], [ True, False, False, False, False, True], [ True, True, True, True, True, True]], [[ True, True, True, True, True, True], [ True, True, True, True, True, True], [ True, True, True, True, True, True], [ True, True, True, True, True, True], [ True, True, True, True, True, True]]], dtype=bool)