def crop_image_only_outside(img,tol=0):
# img is 2D image data
# tol is tolerance
mask = img>tol
m,n = img.shape
mask0,mask1 = mask.any(0),mask.any(1)
col_start,col_end = mask0.argmax(),n-mask0[::-1].argmax()-1
row_start,row_end = mask1.argmax(),m-mask1[::-1].argmax()-1
return img[row_start:row_end,col_start:col_end]
def crop_image(img,tol=0):
# img is 2D or 3D image data
# tol is tolerance
mask = img>tol
if img.ndim==3:
mask = mask.all(2)
mask0,mask1 = mask.any(0),mask.any(1)
return img[np.ix_(mask0,mask1)]
def crop_image_only_outside(img,tol=0):
# img is 2D or 3D image data
# tol is tolerance
mask = img>tol
if img.ndim==3:
mask = mask.all(2)
m,n = mask.shape
mask0,mask1 = mask.any(0),mask.any(1)
col_start,col_end = mask0.argmax(),n-mask0[::-1].argmax()-1
row_start,row_end = mask1.argmax(),m-mask1[::-1].argmax()-1
return img[row_start:row_end,col_start:col_end]