def crop2(dat, clp=True):
    if clp:
        np.clip(dat, 0, 1, out=dat)
for i in range(dat.ndim):
    dat = np.swapaxes(dat, 0, i)
while np.all(dat[0] == 0):
    dat = dat[1:]
while np.all(dat[-1] == 0):
    dat = dat[:-1]
dat = np.swapaxes(dat, 0, i)
return dat
How to crop zero edges of a numpy array?